mysql中tinyint、smallint、int、bigint的區別


tinyint

從 -2^7 (-128) 到 2^7 - 1 (123) 的整型數據。存儲大小為 1 個字節。

unsigned 是從 0 到 255 的整型數據。

所以建表的時候 只能是tinyint(3),哪怕你建tinyint(100),他最大還是3位這么多。

 

smallint

從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據。存儲大小為 2 個字節。

unsigned 是從 0 到 65535 的整型數據。

所以建表的時候 只能是smallint(5),哪怕你建smallint(100),他最大還是5位這么多。

 

int

從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字).存儲大小為 4 個字節。

unsigned 是從 0 到 4294967296 的整型數據。

所以建表的時候 只能是int(10),哪怕你建int(100),他最大還是10位這么多。

 

bigint

從 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型數據(所有數字)。存儲大小為 8 個字節。

unsigned 是(自己算吧)

所以建表的時候 只能是bigint(20),哪怕你建bigint(100),他最大還是20位這么多.

 

 

注意:

mysql提供了五種整型: tinyint、smallint、mediumint、int和bigint。int為integer的縮寫。這些類型在可表示的取值范圍上是不同的。 整數列可定義為unsigned從而禁用負值;這使列的取值范圍為0以上。各種類型的存儲量需求也是不同的。取值范圍較大的類型所需的存儲量較大。

mysql 提供三種浮點類型: float、double和decimal。與整型不同,浮點類型不能是unsigned的,其取值范圍也與整型不同,這種不同不僅在於這些類型有最大 值,而且還有最小非零值。最小值提供了相應類型精度的一種度量,這對於記錄科學數據來說是非常重要的(當然,也有負的最大和最小值)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM