一、整型
类型
tinyint
smallint
mediumint
int/integer
bigint
所占字节数
1
2
3
4
8
特点
1.如果不设置有无符号,默认有符号,想设置无符号需添加unsigned
2.如果插入的数据超出了整型的范围,会报out of range,插入的是临界值
3.如果不设置长度会有默认的长度,长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用
二、小数
浮点型:
float(M,D) 4字节
double(M,D) 8字节
定点型:
dec/decimal(M,D)
特点
1.M代表整数位数和小数位数的和
D代表小数位数
注意:如果超出范围则插入临界值
2.M,D可以省略
如果是decimal则M默认为10,D默认为0
如果是float或double,则会根据插入数值的精度来决定精度
3.定点型(decimal)相对来说精度更高,类似货币运算时可以使用
其他一般用float就可
三、字符型
较短的文本:
char、varchar
较长的文本:
text、blob(较大的二进制文件)
较短的二进制:
binary、varbinary
枚举:
enum
集合:
set
特点
char(M),M可以省略,默认为1;varchar(M),M不可以省略,M代表最多字符数(注意:一个字母和一个汉字都是一个字符)
char存储固定长度字符,空间耗费高,效率高
varchar(M)代表存储可变长度字符,空间耗费低,效率低
四、日期型
分类
date 只保存日期
time 只保存时间
year 只保存年
datetime 日期+时间
timestamp 日期+时间
特点
datetime和timestamp比较
所占字节
范围
是否受时区影响
datetime
8
1000-9999
否
timestamp
4
1970-2038
是