mysql的數字類型是什么?

mysql數字類型是:int類型、TINYINT類型、SMALLINT類型、MEDIUMINT類型、BIGINT類型、Float類型、double類型、DECIMAL類型。

mysql的數字類型是什么?

(推薦教程:mysql視頻教程

mysql的數字類型

1、mysql整數類型

整數類型又稱數值型數據,數值型數據類型主要用來存儲數字。

MySQL 提供了多種數值型數據類型,不同的數據類型提供不同的取值范圍,可以存儲的值范圍越大,所需的存儲空間也會越大。

MySQL 主要提供的整數類型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其屬性字段可以添加 AUTO_INCREMENT 自增約束條件。下表中列出了 MySQL 中的數值類型

mysql的數字類型是什么?

從上表中可以看到,不同類型的整數存儲所需的字節數不相同,占用字節數最小的是 TINYINT 類型,占用字節最大的是 BIGINT 類型,占用的字節越多的類型所能表示的數值范圍越大。

根據占用字節數可以求出每一種數據類型的取值范圍。例如,TINYINT 需要 1 個字節(8bit)來存儲,那么 TINYINT 無符號數的最大值為 28-1,即 255;TINYINT 有符號數的最大值為 27-1,即 127。其他類型的整數的取值范圍計算方法相同,如下表所示。

mysql的數字類型是什么?

提示:顯示寬度和數據類型的取值范圍是無關的。顯示寬度只是指明 MySQL 最大可能顯示的數字個數,數值的位數小于指定的寬度時會由空格填充。如果插入了大于顯示寬度的值,只要該值不超過該類型整數的取值范圍,數值依然可以插入,而且能夠顯示出來。例如,year 字段插入 19999,當使用 select 查詢該列值的時候,MySQL 顯示的將是完整的帶有 5 位數字的 19999,而不是 4 位數字的值。

其他整型數據類型也可以在定義表結構時指定所需的顯示寬度,如果不指定,則系統為每一種類型指定默認的寬度值。

不同的整數類型有不同的取值范圍,并且需要不同的存儲空間,因此應根據實際需要選擇最合適的類型,這樣有利于提高查詢的效率和節省存儲空間。

2、mysql小數類型

MySQL 中使用浮點數和定點數來表示小數。

浮點類型有兩種,分別是單精度浮點數(FLOAT)和雙精度浮點數(DOUBLE);定點類型只有一種,就是 DECIMAL。

浮點類型和定點類型都可以用(M, D)來表示,其中M稱為精度,表示總共的位數;D稱為標度,表示小數的位數。

浮點數類型的取值范圍為 M(1~255)和 D(1~30,且不能大于 M-2),分別表示顯示寬度和小數位數。M 和 D 在 FLOAT 和DOUBLE 中是可選的,FLOAT 和 DOUBLE 類型將被保存為硬件所支持的最大精度。DECIMAL 的默認 D 值為 0、M 值為 10。

下表中列出了 MySQL 中的小數類型和存儲需求。

mysql的數字類型是什么?

DECIMAL 類型不同于 FLOAT 和 DOUBLE。DOUBLE 實際上是以字符串的形式存放的,DECIMAL 可能的最大取值范圍與 DOUBLE 相同,但是有效的取值范圍由 M 和 D 決定。如果改變 M 而固定 D,則取值范圍將隨 M 的變大而變大。

從上表中可以看到,DECIMAL 的存儲空間并不是固定的,而由精度值 M 決定,占用 M+2 個字節。

FLOAT 類型的取值范圍如下:

  • 有符號的取值范圍:-3.402823466E+38~-1.175494351E-38。

  • 無符號的取值范圍:0 和 -1.175494351E-38~-3.402823466E+38。

DOUBLE 類型的取值范圍如下:

  • 有符號的取值范圍:-1.7976931348623157E+308~-2.2250738585072014E-308。

  • 無符號的取值范圍:0 和 -2.2250738585072014E-308~-1.7976931348623157E+308。

提示:不論是定點還是浮點類型,如果用戶指定的精度超出精度范圍,則會四舍五入進行處理。

FLOAT 和 DOUBLE 在不指定精度時,默認會按照實際的精度(由計算機硬件和操作系統決定),DECIMAL 如果不指定精度,默認為(10,0)。

浮點數相對于定點數的優點是在長度一定的情況下,浮點數能夠表示更大的范圍;缺點是會引起精度問題。

最后再強調一下:在 MySQL 中,定點數以字符串形式存儲,在對精度要求比較高的時候(如貨幣、科學數據),使用 DECIMAL 的類型比較好,另外兩個浮點數進行減法和比較運算時也容易出問題,所以在使用浮點數時需要注意,并盡量避免做浮點數比較。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享