mysql中int(3)與int(11)有什麼區別嗎?

來源:互聯網
上載者:User

標籤:make   str   之間   比較   就是   sql   info   strong   .com   

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

 

其實當我們在選擇使用int的類型的時候,不論是int(3)還是int(11),它在資料庫裡面儲存的都是4個位元組的長度,在使用int(3)的時候如果你輸入的是10,會預設給你儲存位010,也就是說這個3代表的是預設的一個長度,當你不足3位時,會幫你不全,當你超過3位時,就沒有任何的影響。

 

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

要查看出不同效果記得在建立類型的時候加 zerofill這個值,表示用0填充,否則看不出效果的。

我們通常在建立資料庫的時候都不會加入這個選項,所以可以說他們之間是沒有區別的。

That which didn‘t kill me makes me stronger

 

聲明欄位是int類型的那一刻起,int就是佔四個位元組,一個位元組8位,也就是4*8=32,可以表示的數字個數是2的32次方(2^32 = 4 294 967 296個數字)。

4 294 967 296個數字也就是0~4 294 967 295,當然如果區分加號或減號的話所存的數字會比較小。

 

來看下面的圖片

mysql中int(3)與int(11)有什麼區別嗎?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.