最近使用mysql數據庫的時候遇到了多種數字的類型,主要有int,bigint,smallint和tinyint。其中比較迷惑的是int和smallint的差異。今天就在網上仔細找了找,找到以下內容,留檔作個總結:mysql
使用整數數據的精確數字數據類型。sql
bigint數據庫
從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據(全部數字)。存儲大小爲 8 個字節。ide
P.S. bigint已經有長度了,在mysql建表中的length,只是用於顯示的位數函數
intspa
從 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型數據(全部數字)。存儲大小爲 4 個字節。int 的 SQL-92 同義字爲 integer。it
smallintclass
從 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型數據。存儲大小爲 2 個字節。數據類型
tinyint總結
從 0 到 255 的整型數據。存儲大小爲 1 字節。
在支持整數值的地方支持 bigint 數據類型。可是,bigint 用於某些特殊的狀況,當整數值超過 int 數據類型支持的範圍時,就能夠採用 bigint。在 SQL Server 中,int 數據類型是主要的整數數據類型。
在數據類型優先次序表中,bigint 位於 smallmoney 和 int 之間。
只有當參數表達式是 bigint 數據類型時,函數才返回 bigint。SQL Server 不會自動將其它整數數據類型(tinyint、smallint 和 int)提高爲 bigint。
int(M) 在 integer 數據類型中,M 表示最大顯示寬度。在 int(M) 中,M 的值跟 int(M) 所佔多少存儲空間並沒有任何關係。和數字位數也無關係 int(3)、int(4)、int(8) 在磁盤上都是佔用 4 btyes 的存儲空間