MySQL 的數字型態大小

Home / MySQL / MySQL 的數字型態大小

最近使用mysql資料庫的時候遇到了多種數字的類型,主要有int,bigint,smallint和tinyint。其中比較迷惑的是int和smallint的差別。

使用整數數據的精確數字數據類型。

BIGINT

從-2^63 (-9223372036854775808) 到2^63-1 (9223372036854775807) 的整型數據(所有數字)。存儲大小為8 個字節。

PS bigint已經有長度了,在mysql建表中的length,只是用於顯示的位數

INT

從-2^31 (-2,147,483,648)到2^31 – 1 (2,147,483,647)的整型數據(所有數字)。存儲大小為4個字節。int 的SQL-92同義字為integer

SMALLINT

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

TINYINT

從0 到255 的整型數據。存儲大小為1 字節。

註釋

在支持整數值的地方支持bigint數據類型。但是,bigint用於某些特殊的情況,當整數值超過 int數據類型支持的範圍時,就可以採用bigint。在SQL Server中,int數據類型是主要的整數數據類型。

在數據類型優先次序表中,bigint位於smallmoneyint之間。

只有當參數表達式是bigint數據類型時,函數才返回bigint。SQL Server不會自動將其它整數數據類型(tinyintsmallintint)提升為bigint

int(M) 在integer 數據類型中,M 表示最大顯示寬度。在int(M) 中,M 的值跟int(M) 所佔多少存儲空間並無任何關係。和數字位數也無關係int(3)、int(4)、int(8) 在磁盤上都是佔用4 btyes 的存儲空間。

Type Storage Minimum Value Maximum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

 

5875 全部 25 今日

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*