MySQL 關於int 11 的理解

2021-10-12 21:18:04 字數 724 閱讀 9530

資料型別int不同於varchar,包括tinyint,bigint,smallint,mediumint,int等整型資料型別,他們都是擁有自己的資料範圍了

在mysql中,int 只佔4個位元組,32位, 帶符號,範圍為-2147483648-2147483647

不帶符號(unsigned int ),範圍為0-4,294,967,294

一旦在資料庫int型別欄位下設定的值超過對應的範圍,即越界了,就會報錯,數值超過range。

問題:那在定義資料結構時,int(num) 裡面的num是指的什麼意思?

eg : int(11)

答:括號內的num是指的字段的長度,規定填入數值的統一長度(並只有在開啟填充零的情況下,該num的作用才會體現出來。)。

當開啟填充零,給字段配置zerofill的時候,當輸入的數值不滿足指定長度時,mysql會在數值前面補充零直到滿足指定的長度。

區別:

使用的時候沒有什麼區別,只是在儲存的時候有區別

指定為11的時候,不開啟填充零,即使插入11位數的時候也是插入不進去的。

盡可能取占用空間小的整數型別。合適的字元儲存長度,不但節約資料庫表空間、節約索引儲存,更重要的是提公升檢索速度。

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 10 和int 11 的區別

int m m指示最大顯示寬度。最大有效顯示寬度是255。顯示寬度與儲存大小或型別包含的值的範圍無關 首先說一下mysql的數值型別,mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和numeric 以及近似數值資料型別 flo...

Mysql中,int 10 和int 11 的區別

int m m指示最大顯示寬度。最大有效顯示寬度是255。顯示寬度與儲存大小或型別包含的值的範圍無關 首先說一下mysql的數值型別,mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和numeric 以及近似數值資料型別 flo...