【MySQL】MySQL資料型別寬度
阿新 • • 發佈:2019-01-02
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個位元組的儲存空間。