溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL中int(10)和int(11)的區(qū)別是什么

發(fā)布時間:2023-03-02 11:00:10 來源:億速云 閱讀:88 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了MySQL中int(10)和int(11)的區(qū)別是什么的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇MySQL中int(10)和int(11)的區(qū)別是什么文章都會有所收獲,下面我們一起來看看吧。

一、背景

在創(chuàng)建數(shù)據(jù)庫表的時候,我們經(jīng)常會用到int(x)來定義一個字段的類型,一直誤以為這里的x表示存儲數(shù)字的長度。

其實大錯特錯,這里的 x 指的是 最大顯示寬度(最大有效顯示寬度是255),且顯示寬度與存儲大小或類型包含的值的范圍無關(guān)。

二、MySQL整數(shù)類型

類型字節(jié)取值范圍顯示寬度
tinyint1-128 ~ 1274
smallint2-32768 ~ 327676
mediumint3-8388608 ~ 83886079
int4-2147483648 ~ 214748364711
bigint8-9223372036854775808 ~ 922337203685477580720

MySQL 類型關(guān)鍵字后面的括號內(nèi)指定整數(shù)值的顯示寬度(例如,INT(4))。

該可選顯示寬度規(guī)定用于顯示寬度小于指定的列寬度的值時從左側(cè)填滿寬度。顯示寬度并不限制可以在列內(nèi)保存的值的范圍,也不限制超過列的指定寬度的值的顯示。

當(dāng)結(jié)合可選擴(kuò)展屬性 zerofill 使用時, 默認(rèn)補(bǔ)充的空格用零代替。

例如,對于聲明為 INT(5) zerofill 的列,值 4 檢索為 00004。請注意如果在整數(shù)列保存超過顯示寬度的一個值,當(dāng) MySQL 為復(fù)雜聯(lián)接生成臨時表時會遇到問題,因為在這些情況下 MySQL 相信數(shù)據(jù)適合原列寬度。

所有整數(shù)類型可以有一個可選(非標(biāo)準(zhǔn))屬性 UNSIGNED。當(dāng)你想要在列內(nèi)只允許非負(fù)數(shù)和該列需要較大的上限數(shù)值范圍時可以使用無符號值。

那取值范圍和顯示寬度到底有什么關(guān)系呢?利用 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;

查詢結(jié)果:

mysql> select * from int_demo;
+----+--------+------------+
| id | int_4  | int_8      |
+----+--------+------------+
|  1 |   0002 |   00001000 |
|  3 | 123456 | 1234567898 |
+----+--------+------------+
2 rows in set (0.00 sec)

關(guān)于“MySQL中int(10)和int(11)的區(qū)別是什么”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“MySQL中int(10)和int(11)的區(qū)別是什么”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI