MySQL 中的各種數值資料型態:tinyint、smallint、mediumint、bigint 和int
在MySQL 領域內,一系列存在數字資料類型,每種資料類型都具有獨特的特徵。理解這些差異對於高效的資料庫設計至關重要。
資料大小和範圍
最根本的區別在於這些類型佔用的儲存空間以及對應的取值範圍它們容納:
- tinyint: 1 字節,-128 到127(無符號:0 到255)
- smallint: 2 字節, -32768 到32767 (無符號: 0 到65535)
- mediumint: 3 位元組, -8388608 到8388607 (無符號: 0 到16777215)
- &int:[&]&int: ] 4 字節,-2147483648 至2147483647(無符號:0 至4294967295)
- bigint: 8 字節,-9223372036854757575757575720757(無37203682757575707575727572387(37572387237572037(372383723837年(至 23837372383:37203872375723837年)(387238572387575375738575738575375757573857573857575757385753 18446744073709551615)
使用注意事項
資料類型的選擇取決於預期值的範圍和所需的精確度:
對於小數值在有限範圍內的值,- tinyint或smallint比較適合。
處理較大值時,- mediumint或int 提供更大的容量。
- Bigint 是容量最大的整數型,可容納特別大的數值。
其他注意事項
- 無符號性: 除了MySQL的tinyint之外,所有整數類型都支援無符號語義,將範圍擴展到非負值。
- 儲存差異:在不同的 RDBMS(例如 Postgres、DB2)中,這些類型的儲存要求和值範圍可能存在一些差異。