1. 程式人生 > >【MySQL】MySQL資料型別寬度

【MySQL】MySQL資料型別寬度

MySQL中整數資料型別

上圖:MySQL的整數型別

MySQL中資料型別的顯示寬度

顯示寬度只是指明MYSQL最大可能顯示的數字個數,數值的位數小於指定的寬度時會有空格填充,取決於你的設定。如果插入了大於顯示寬度的值,只要該值不超過該型別的取值範圍,數值依然可以插入顯示出來。

建立表時,可以在INT後面加入數值。請注意這個數值不代表資料的長度。例如id欄位的資料型別為INT(4),注意到後面的數字4,這表示的是該資料型別指定的顯示寬度,指定能夠顯示的數值中數字的個數,實際儲存的長度還是上表中INT的取值範圍即-2147483648~2147483648。

來看一個例子:

上圖中在建立表時列指定了zerofill,如果存入12,那麼查詢出來的結果就是0000000012,左邊用0來填充。如果我們沒有指定zerofill,預設用空格來填充

顯示寬度和資料型別的取值範圍是無關的

當我們沒有指定資料型別的顯示寬度,它的預設值如下:

TINYINT[(M)] [UNSIGNED] [ZEROFILL]  M預設為4,佔1個位元組

SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M預設為6

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M預設為9

INT[(M)] [UNSIGNED] [ZEROFILL]   M預設為11

BIGINT[(M)] [UNSIGNED] [ZEROFILL] M預設為20

注意:這裡的M代表的並不是儲存在資料庫中的具體的長度

注意事項

顯示寬度只用於顯示,並不能限制取值範圍和佔用空間。比如INT(3)會佔用4個位元組的儲存空間。