INT(M), M是管什麼用的?
作爲對 ANSI/ISO SQL92標準的一個擴展,MySQL 也支持上面的表格所列出的整型類型 TINYINT、MEDIUMINT 和 BIGINT。另外一個擴展是MySQL 支持隨意指定一個整型數值的顯示格式,這通過在類型的基本關鍵詞後跟一個括號來實現(例如INT(4))。這個可選的寬度規格說明是用於在數值顯示時,對某些值的寬度短於該列寬度的值進行左填補顯示的,而不是爲了限制在該列中存儲值的寬度,也不是爲了限制那些超過該列指定寬度的值的可被顯示的數字位數。當與可選的擴展屬性 ZEROFILL一起使用時,缺省填補用的空格被零代替。舉例來說,一個列被定義爲
INT(5) ZEROFILL,插入的值 4 被檢索出來時爲00004。注意,如果在一個整型列中存儲一個超過顯示寬度的更大值時,當 MySQL爲某些複雜的聯結(join)生成臨時表時,你可能會遇到問題,因爲在這種情況下,MySQL信任地認爲所有的值均適合原始的列寬度。
具體如下:
數字類型
類型
|
大小
|
範圍(有符號)
|
範圍(無符號)
|
用途
|
TINYINT
|
1 字節
|
(-128,127)
|
(0,255)
|
小整數值
|
SMALLINT
|
2 字節
|
(-32 768,32 767)
|
(0,65 535)
|
大整數值
|
MEDIUMINT
|
3 字節
|
(-8 388 608,8 388 607)
|
(0,16 777 215)
|
大整數值
|
INT或INTEGER
|
4 字節
|
(-2 147 483 648,2 147 483647)
|
(0,4 294 967 295)
|
大整數值
|
BIGINT
|
8 字節
|
(-9 233 372 036 854 775 808,9 223372 036 854 775 807)
|
(0,18 446 744 073 709 551615)
|
極大整數值
|
FLOAT
|
4 字節
|
(-3.402 823 466 E+38,1.175 494 351E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
|
0,(1.175 494 351 E-38,3.402 823 466E+38)
|
單精度
浮點數值 |
DOUBLE
|
8 字節
|
(1.797 693 134 862 315 7E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4E-308,1.797 693 134 862 315 7 E+308)
|
0,(2.225 073 858 507 201 4E-308,1.797 693 134 862 315 7 E+308)
|
雙精度
浮點數值 |
DECIMAL
|
對DECIMAL(M,D),如果M>D,爲M+2否則爲D+2
|
依賴於M和D的值
|
依賴於M和D的值
|
小數值
|
字符類型
CHAR
|
0-255字節
|
定長字符串
|
VARCHAR
|
0-255字節
|
變長字符串
|
TINYBLOB
|
0-255字節
|
不超過 255 個字符的二進制字符串
|
TINYTEXT
|
0-255字節
|
短文本字符串
|
BLOB
|
0-65 535字節
|
二進制形式的長文本數據
|
TEXT
|
0-65 535字節
|
長文本數據
|
MEDIUMBLOB
|
0-16 777 215字節
|
二進制形式的中等長度文本數據
|
MEDIUMTEXT
|
0-16 777 215字節
|
中等長度文本數據
|
LOGNGBLOB
|
0-4 294 967 295字節
|
二進制形式的極大文本數據
|
LONGTEXT
|
0-4 294 967 295字節
|
極大文本數據
|
枚舉、集合
ENUM (最多65535個成員) 64KB
SET (最多64個成員) 64KB
時間類型
類型
|
大小
(字節) |
範圍
|
格式
|
用途
|
DATE
|
3
|
1000-01-01/9999-12-31
|
YYYY-MM-DD
|
日期值
|
TIME
|
3
|
'-838:59:59'/'838:59:59'
|
HH:MM:SS
|
時間值或持續時間
|
YEAR
|
1
|
1901/2155
|
YYYY
|
年份值
|
DATETIME
|
8
|
1000-01-01 00:00:00/9999-12-3123:59:59
|
YYYY-MM-DD HH:MM:SS
|
混合日期和時間值
|
TIMESTAMP
|
8
|
1970-01-01 00:00:00/2037 年某時
|
YYYYMMDD HHMMSS
|
混合日期和時間值,時間戳
|