MySQL支持的數據類型
MySQL支持所有標準的SQL數據類型包括嚴格數據類型(如integer、smallint、decimal、numberic)、近似數值類型(如float、real、double presision)
作爲SQL標準的擴展,MySQL也支持整數類型(tinyint、mediumint、bigint)
1、數值類型
數據類型 | 字節數 |
---|---|
tinyint | 1 |
smallint | 2 |
mediumint | 3 |
int / integer | 4 |
bigint | 8 |
float | 4 |
double | 8 |
decimal(M,D) | 變長,整數部分和小數部分分開計算 |
2、字符串類型
8種基本的字符串類型char、varchar、binary、varbinary、blob、text、set類型
數據類型 | 字節數 | 類型描述 |
---|---|---|
char | 0~255 | 定長字符串 |
varchar | 0~65535 | 可變長字符串 |
tinyblob | 0~255 | 不超過255個字符的二進制字符串 |
tinytext | 0~255 | 短文本字符串 |
blob | 0~65535 | 二進制形式的長文本數據 |
text | 0~65535 | 長文本數據 |
mediumblob | 0~16777215 | 二進制形式的中等長度文本數據 |
mediumtext | 0~16777215 | 中等長度文本數據 |
longblob | 0~4294967295 | 二進制形式的極大文本數據 |
longtext | 0~4294967295 | 極大文本數據 |
varbinary(m) | 0~m | 允許0~m個字節的變長字節字符集 |
binary (m) | 0~m | 允許0~m個字節的變長字節字符集 |
3、日期和時間類型
數據類型 | 字節數 | 取值範圍 | 日期格式 | 零值 |
---|---|---|---|---|
year | 1 | 1901~2155 | YYYY | 0000 |
date | 4 | 1000-01-01~9999-12-31 | YYYY-MM-DD | 0000-00-00 |
time | 3 | -838:59:59~838:59:59 | HH:MM:SS | 00:00:00 |
datetime | 8 | 1000-01-01 00:00:00~9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 0000-00-00 00:00:00 |
timestamp | 4 | 1970-01-01 00:00:01~2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 0000-00-00 00:00:00 |
每種日期和時間類型都有一個有效範圍,如果插入的值超過這個範圍,系統會報錯,並將0值插入到數據庫中,不同日期和時間類型有不同的零值。