mysql 数据类型
1.数值型
类型名 | 说明 | 占用空间 | 取值范围 |
---|---|---|---|
tinyint | 较小整数 | 1个字节 | -128~127或0~255 |
smallint | 短整数 | 2个字节 | 0~2^16-1 |
mediumint | 中等整数 | 3个字节 | 0~2^24-1 |
int | 标准整数 | 4个字节 | 0~2^32-1 |
bigint | 大整数 | 8个字节 | 0~2^64-1 |
float(M,D) | 单精度 | 4个字节 | M总位数,D精度 |
double(M,D) | 双精度 | 8个字节 | 同上 |
decimal(M,D) | 小数 | 5.1版本引入的精度高主要针对金额 |
2.字符型
类型名 | 说明 | 存储需求 | 最大尺寸 |
---|---|---|---|
char | 定长字符串 | M字节 | M字节 |
varchar | 可变长字符串 | L+1字节 | M字节 |
blob、text | 二进制、文本串 | L+2字节 | 2^16~1字节 |
tinyblob(text) | 非常小 | L+1字节 | 2^8~1字节 |
mediumblob(text) | 中等 | L+3字节 | 2^24~1字节 |
longblob(text) | 大的 | L+4字节 | 2^32~1字节 |
enum | 枚举;列某个成员 | 1或2字节 | 65536成员 |
set | 集合:列多个成员 | 1、2、3、4或8 | 64成员 |
-
CHAR类型长度范围都是0~255之间的大小
-
VARCHAR类型长度范围都是0~65532之间的大小
3.时间类型
类型名 | 说明 | 存储需求 | 取值范围 |
---|---|---|---|
date | YYYY-MM-DD日期 | 3字节 | 10000101~99991231 |
time | hh:mm:ss时间 | 3字节 | -838:59:59~838:59:59 |
datetime | YYYY-MM-DD hh:mm:ss | 8字节 | 1000~9999 |
timestamp | YYYYMMDDhhmmss时间戳 | 4字节 | 19700101000000~2037年 |
year | YYYY年份 | 1字节 | 1901年~2155年 |