本文介绍MySQL常见数据类型。
数据类型
1、数值型
(1)整数型
类型 | 大小 | 范围(有符号) | 范围(无符号) |
---|---|---|---|
TINYINT | 1字节 | (-2^7,2^7-1) | (0,2^8-1) |
SMALLINT | 2字节 | (-2^15,2^15-1) | (0,2^16-1) |
MEDIUMINT | 3字节 | (-2^23,2^23-1) | (0,2^24-1) |
INT或INTEGER | 4字节 | (-2^31,2^31-1) | (0,2^32-1) |
BIGINT | 8字节 | (-2^63,2^63-1) | (0,2^64-1) |
(2)小数型
名称 | 描述 |
---|---|
FLOAT(M,D) | 只能为有符号的。默认为FLOAT(10,2),表示最多有10位数字,其中有两位小数 |
DECIMAL(M,D) | 只能为有符号的。默认为DECIMAL(10,0),表示最多有10位数字,其中有0位小数 |
DECIMAL也可以用来存储小数,适用于金额、价格等对精度要求较高的数据存储。
2、字符串型
名称 | 描述 |
---|---|
CHAR(M) | 固定长度字符串,长度为1-255个字符。若不指定字符长度,则默认存储一个字符,若指定字符长度,但实际存储字符长度小于指定长度,则右边填充空格;超过指定长度,则会报错 |
VARCHAR(M) | 可变长度字符串,长度为1-255个字符。定义该类型时必须指定长度 |
TEXT | 最大长度为65535个字符。用于存储二进制大数据,如图片。该类型不能指定长度 |
3、日期时间型
名称 | 描述 |
---|---|
DATE | YYYY-MM-DD格式,在1000-01-01和9999-12-31之间 |
DATETIME | YYYY-MM-DD hh:mm:ss格式 1000-01-01 00:00:00和9999-12-31 23:59:59之间 |
TIME | hh:mm:ss格式,在00:00:00-23:59:59之间 |
TIMESTAMP | 时间戳,在1970-01-01 00:00:00 和 2037-12-31 23:59:59之间,用于存储从到指定时间的秒数 |