数值型
1、整型
tinyint(1)smallint(2)mediumint(3)
int/integer(4)bigint(8)
特点:
-
都可以设置无符号和有符号,默认有符号,用UNSIGNED设置无符号
-
ZEROFILL表示长度不够时左侧进行零填充。默认无符号
-
如果超出范围,会报out or range异常,插入临界值
-
如果不设置长度,会有默认的长度。该长度是指显示结果时该列的宽度
2、浮点型
定点数(dec(M,D)、decinal(M,D))
浮点数(float(M,D)、double(M,D))
特点
- M是整数和小数的总长度,D是小数部分
- 若超出,会报out or range异常,插入临界值
- 若省略,定点数默认(10,0),浮点数精度随机
- 定点型精度高
字符型
较短的文本:char(M,可以省略,默认1).varchar(M)
较长的文本:text.blob(较长的二进制数据)
M表示字符的长度
char是固定长度的字符,varchar代表可变长度的字符
相对而言,char消费空间,效率高
日期型
date 只有日期
time 只有时间
year 只有年
datetime 日期+时间
timestamp 日期+时间
字节 范围 时区等影响
datetime 8 1000-9999 不受
timestamp 4 1970-2038 受