MySQL数据类型包括:整型、浮点型、日期类型、字符型,这里用表格的方式详细说明每个数据类型,这些只要记住常用的即可,需要再查阅。
整型
数据类型 | 存储范围 | 字节 |
---|---|---|
TINYINT | 有符号值:-128 到 127(-(27)到(27)) 无符号值:0到255(0到(2^8)) |
1 |
SMALLINT | 有符号值:-32768 到 32767(-(2{15}到2{15})) 无符号值:0到65535(0到(2^{16})-1) |
2 |
MEDIUMINT | 有符号值:-8388608 到 8388607(-(2{23}到2{23})) 无符号值:0到16777215(0到(2^{24})) |
3 |
INT | 有符号值:-(2{31}到2{31}) 无符号值:0(到2^{32})-1 |
4 |
BIGINT | 有符号值:-(2{63}到2{63}) 无符号值:0(到2^{64})-1 |
8 |
浮点型
数据类型 | 精度 |
---|---|
FLOAT[(M,D)] | 小数点后6-7位(常用) |
DOUBLE[(M,D)] | 小数点后14-15位 |
日期时间类型
日期类型 | 存储空间(字节) | 日期格式 | 范围 |
---|---|---|---|
datetime | 8 | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
timestamp | 4 | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:01 ~ 2038 |
date | 3 | YYYY-MM-DD | 1000-01-01 ~ 9999-12-31 |
year | 1 | YYYY | 1901~2155 |
time | 2 | HH:MM:SS | -838:59:59 ~ 838:59:59 |
字符型
列类型 | 说明 |
---|---|
CHAR(M) | M个字节,0<=M<=255,固定长度 |
VARCHAR(M) | L+1个字节,其中L<M且0<M<65535,可以小于定于长度M |
TINYTEXT | L+1个字节,其中L<(2^8) |
TEXT | L+2个字节,其中L<(2^{16}) |
MEDIUMTEXT | L+3个字节,其中L<(2^{24}) |
LONGTEXT | L+4个字节,其中L<(2^{32}) |
ENUM('value1','value2') | 枚举,1或2个字节,取决于枚举的个数(最多(2^{16})-1个值) |
SET('value1','value2') | 集合,1,2,3,4,8个字节,取决于成员个数 |