您好,登錄后才能下訂單哦!
這篇文章主要介紹了MySQL中int(10)和int(11)的區別是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MySQL中int(10)和int(11)的區別是什么文章都會有所收獲,下面我們一起來看看吧。
在創建數據庫表的時候,我們經常會用到int(x)來定義一個字段的類型,一直誤以為這里的x表示存儲數字的長度。
其實大錯特錯,這里的 x 指的是 最大顯示寬度(最大有效顯示寬度是255),且顯示寬度與存儲大小或類型包含的值的范圍無關。
類型 | 字節 | 取值范圍 | 顯示寬度 |
---|---|---|---|
tinyint | 1 | -128 ~ 127 | 4 |
smallint | 2 | -32768 ~ 32767 | 6 |
mediumint | 3 | -8388608 ~ 8388607 | 9 |
int | 4 | -2147483648 ~ 2147483647 | 11 |
bigint | 8 | -9223372036854775808 ~ 9223372036854775807 | 20 |
MySQL 類型關鍵字后面的括號內指定整數值的顯示寬度(例如,INT(4))。
該可選顯示寬度規定用于顯示寬度小于指定的列寬度的值時從左側填滿寬度。顯示寬度并不限制可以在列內保存的值的范圍,也不限制超過列的指定寬度的值的顯示。
當結合可選擴展屬性 zerofill 使用時, 默認補充的空格用零代替。
例如,對于聲明為 INT(5) zerofill 的列,值 4 檢索為 00004。請注意如果在整數列保存超過顯示寬度的一個值,當 MySQL 為復雜聯接生成臨時表時會遇到問題,因為在這些情況下 MySQL 相信數據適合原列寬度。
所有整數類型可以有一個可選(非標準)屬性 UNSIGNED。當你想要在列內只允許非負數和該列需要較大的上限數值范圍時可以使用無符號值。
那取值范圍和顯示寬度到底有什么關系呢?利用 int 做了個實驗:
create table int_demo( id int not null auto_increment, int_4 int(4) UNSIGNED zerofill, int_8 int(8) UNSIGNED zerofill, primary key (id) ); insert into int_demo (int_4, int_8) VALUES (2, 1000),(123456, 1234567898); select * from int_demo;
查詢結果:
mysql> select * from int_demo; +----+--------+------------+ | id | int_4 | int_8 | +----+--------+------------+ | 1 | 0002 | 00001000 | | 3 | 123456 | 1234567898 | +----+--------+------------+ 2 rows in set (0.00 sec)
關于“MySQL中int(10)和int(11)的區別是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“MySQL中int(10)和int(11)的區別是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。