整數類型:int
INT[(M)] [UNSIGNED] [ZEROFILL]
M表示顯示最大寬度,最大為255,個人認為無意義當M定義值為1時,也可以儲存到10位元資料[或許這裡的只是前端的應用顯示吧? ]
大小:4個位元組
儲存範圍:
single(-2^(32-1),2^(32-1)-1]、unsingle(0,2^32-1)
1.MySQL以一個可選的顯示寬度指示器的形式對SQL標準進行擴展,這樣當從資料庫檢索一個值時,可以從資料庫檢索一個值時,可以擴展把這個值加長到指定的長度。例如,指定一個欄位的類型為int(6),既可以保證所包含數字少於6個的值從資料庫中檢索出來時能夠自動地用空格填充,需要注意的是,使用一個寬度指示器,不會影響欄位的大小和它的儲存值的範圍。
2.當超出許可範圍的數字,會截短後儲存。還有一個比較特別的地方是,mysql會在不合規定的值插入表前自動修改為0。
3.ZEROFILL修飾規定0(不是空格)可以用來填補輸出的值。使用這個修飾符可以阻止MySQL資料庫儲存負值。
mysql>create table t1(id int,id2int unsigned); Query OK, 0 rows affected (0.13 sec)
總結:
創建表int類型預設為signed,預設為11,unsigned預設為10.
int(M) 在 integer 資料型別中顯示寬度。
在 int(M) 中,M 的值跟 int(M) 所佔多少儲存空間並無任何關係。
和數字位數也無關 int(3)、int(4)、int(8) 在磁碟上都是佔用 4 btyes 的儲存空間。
M最大值為255,因為int無符號數,最大值為4294967295,寬度為10位,所以定義int(255)是沒有意義的。所以定義寬度沒有意思。
無符號數預設為10,有符號數預設為11,因為一個 -號,符號位。
以上就是資料型態:int的內容,更多相關內容請關注PHP中文網(www.php.cn)!