Mysql:int int(3) int(10) 的區(qū)別

今天一個(gè)實(shí)習(xí)生問(wèn)了我一個(gè)問(wèn)題,他說(shuō)int(3),int(4),int 有區(qū)別嗎?
我:。。。沒(méi)關(guān)注過(guò)呀?

1. 網(wǎng)上學(xué)習(xí)

于是上網(wǎng)各種查文章,總結(jié)了下面4條結(jié)論:

  1. int類(lèi)型的字段就是占四個(gè)字節(jié),一個(gè)字節(jié)8位,也就是4*8=32位。
  2. int 可表示的范圍:有符號(hào)為[-2147483648,2147483647],無(wú)符號(hào)為[0, 4294967295]
  3. 不論是選擇int(3)還是int(11),它在數(shù)據(jù)庫(kù)里面存儲(chǔ)的都是4個(gè)字節(jié)的長(zhǎng)度
  4. 當(dāng)int(3) 配合zerofill 使用時(shí),如果你輸入的數(shù)值是17,系統(tǒng)會(huì)默認(rèn)為你存儲(chǔ)值為017
    解釋一下:這個(gè)3代表的僅是一個(gè)默認(rèn)的長(zhǎng)度,當(dāng)不足3位時(shí),系統(tǒng)會(huì)幫用零補(bǔ)全,當(dāng)超過(guò)3位時(shí),就沒(méi)有任何的影響與副作用

2. 實(shí)踐

收集好網(wǎng)上的結(jié)論后,進(jìn)入了實(shí)測(cè)階段

2.1 建表

CREATE TABLE `students` (
  `sId` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `sInt` INT DEFAULT NULL,
  `sInt_3` INT(3) ZEROFILL DEFAULT NULL,
  `sInt_10` INT(10) UNSIGNED DEFAULT NULL,
  `sInt_11` INT(11) ZEROFILL DEFAULT NULL,
  PRIMARY KEY (`sId`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

2.2 驗(yàn)證網(wǎng)上結(jié)論

  1. 不用驗(yàn)證了,mysql 基礎(chǔ)
  2. 創(chuàng)建一行數(shù)據(jù),寫(xiě)入最大值,檢查是否可以存儲(chǔ)
INSERT into students values (1,2147483647,1,1,1)
image.png
  1. 創(chuàng)建一行數(shù)據(jù),寫(xiě)入最大值,檢查int(3)int(10)int(11)是否可以存儲(chǔ)
INSERT into students values (3,2147483647,2147483647,2147483647,2147483647)
image.png
  1. 創(chuàng)建一行數(shù)據(jù),int(3),int(10), int(11) 都寫(xiě)入17,檢查存儲(chǔ)結(jié)果
INSERT into students values (3,17,17,17,17)
image.png

總結(jié):

  1. Int 后面加的數(shù)據(jù),并不會(huì)影響int的存儲(chǔ)范圍,同時(shí)int后面加了范圍后,需要配置zerofill 才會(huì)有效,常用于編號(hào)之中如學(xué)號(hào)之類(lèi)

  2. 測(cè)試結(jié)果和網(wǎng)上說(shuō)的有所不同,并沒(méi)有實(shí)現(xiàn)int(3) zerofill 后,寬度就只顯示3位,而是不管設(shè)置幾,寬度都是10位,輸入的值不足10位,前面用0補(bǔ)齊

  3. 所以不知道是我mysql 版本問(wèn)題還是哪里配置的問(wèn)題,如果有了解的網(wǎng)友辛苦評(píng)論一把

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

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

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