MySQL 字段類型及其含義

1. bytes

bytes = 8 bit

一個字節(jié)最多可以代表的數(shù)據(jù)長度是2的8次方 11111111 在計算機中也就是-128到127。
2. BIT

BIT #位字段類型

BIT[M] 位字段類型,M表示每個值的位數(shù),范圍從1到64,如果M被忽略,默認為1

3.TINYINT

TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默認為4 #很小的整數(shù)。

帶符號的范圍是-128到127。無符號的范圍是0到255。

4. BOOL, BOOLEAN

BOOL,BOOLEAN #TINYINT(1)的同義詞。

zero值被視為假。非zero值視為真。

5. SMALLINT

SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默認為6 #小的整數(shù)。

帶符號的范圍是-32768到32767。無符號的范圍是0到65535。

6. MEDIUMINT

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默認為9 #中等大小的整數(shù)。

帶符號的范圍是-8388608到8388607。無符號的范圍是0到16777215。

7. INT

INT[(M)] [UNSIGNED] [ZEROFILL] M默認為11 #普通大小的整數(shù)。

帶符號的范圍是-2147483648到2147483647。無符號的范圍是0到4294967295。

8. BIGINT

BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默認為20 #大整數(shù)。

帶符號的范圍是-9223372036854775808到9223372036854775807。無符號的范圍是0到18446744073709551615。

注意:這里的M代表的并不是存儲在數(shù)據(jù)庫中的具體的長度,以前總是會誤以為int(3)只能存儲3個長度的數(shù)字,int(11)就會存儲11個長度的數(shù)字,這是大錯特錯的。

其實當(dāng)我們在選擇使用int的類型的時候,不論是int(3)還是int(11),它在數(shù)據(jù)庫里面存儲的都是4個字節(jié)的長度,在使用int(3)的時候如果你輸入的是10,會默認給你存儲位010,也就是說這個3代表的是默認的一個長度,當(dāng)你不足3位時,會幫你不全,當(dāng)你超過3位時,就沒有任何的影響。

前天有人問我 int(10)與int(11)有什么區(qū)別,當(dāng)時覺得就是長度的區(qū)別吧,現(xiàn)在看,他們之間除了在存儲的時候稍微有點區(qū)別外,在我們使用的時候是沒有任何區(qū)別的。int(10)也可以代表2147483647這個值int(11)也可以代表。

要查看出不同效果記得在創(chuàng)建類型的時候加 zerofill這個值,表示用0填充,否則看不出效果的。
我們通常在創(chuàng)建數(shù)據(jù)庫的時候都不會加入這個選項,所以可以說他們之間是沒有區(qū)別的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容