MySQL中int 11 最大長度是多少?

2021-08-04 18:05:39 字數 1251 閱讀 7849

今天在新增資料的時候,發現當資料型別為 int(11) 時,我當時讓使用者新增資料時,最大輸入的長度為11位,結果,新增資料新增不上,導致出現問題,我又改為最大長度為10位,結果驗證9個1的時候是正常的,再次驗證9個9的時候又失敗了。

經過查詢資料,最終找到了關於mysql中的資料型別 int(11)的介紹

在sql語句中int代表你要建立欄位的型別,int代表整型,11代表欄位的長度。

這個11代表顯示寬度,整數列的顯示寬度與mysql需要用多少個字元來顯示該列數值,與該整數需要的儲存空間的大小都沒有關係,比如,不管設定了顯示寬度是多少個字元,bigint都要占用8個位元組。

int是整型,(11)是指顯示字元的長度,但要加引數的,最大為255,比如它是記錄行數的id,插入10筆資料,它就顯示00000000001 ~~~00000000010,當字元的位數超過11,它也只顯示11位,如果你沒有加那個讓它未滿11位就前面加0的引數,它不會在前面加0

宣告整型資料列時,我們可以為它指定個顯示寬度m(1~255),如int(5),指定顯示寬度為5個字元,如果沒有給它指定顯示寬度,mysql會為它指定乙個預設值。顯示寬度只用於顯示,並不能限制取值範圍和占用空間,如:int(3)會占用4個位元組的儲存空間,並且允許的最大值也不會是999,而是 int整型所允許的最大值。

mysql有五種整型資料列型別,即tinyint,smallint,mediumint,int和bigint。它們之間的區別是取值範圍不同,儲存空間也各不相同。

在整型資料列後加上unsigned屬性可以禁止負數,取值從0開始。

注意:這裡的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)也可以代表。

MySQL中int 11 最大長度是多少?

這個11代表顯示寬度,整數列的顯示寬度與mysql需要用多少個字元來顯示該列數值,與該整數需要的儲存空間的大小都沒有關係,比如,不管設定了顯示寬度是多少個字元,bigint都要占用8個位元組。int是整型,11 是指顯示字元的長度,但要加引數的,最大為255,比如它是記錄行數的id,插入10筆資料,...

MySQL中的int 11 含義

圖中的資料剛好展示了3位,和我們的int 3 中的3符合。alter table account change id id int 5 zerofill 圖中資料展示了5位,和int n 中n的值的位數是一樣的 答案是 依然會展示插入的資料,不會丟失資料 我們知道mysql中的int是佔4個位元組,...

MySQL 關於int 11 的理解

資料型別int不同於varchar,包括tinyint,bigint,smallint,mediumint,int等整型資料型別,他們都是擁有自己的資料範圍了 在mysql中,int 只佔4個位元組,32位,帶符號,範圍為 2147483648 2147483647 不帶符號 unsigned in...