mysql中的数据类型
1.数值型
1.整型
tinyint 1
smallint 2
mediumint 3
int/Integer 4
bigint 8
特点:
都可以设置无符号和有符号数,默认有符号,通过unsigned设置无符号
如果超出范围,会报out of range 异常,插入临界值
长度不指定,会有一个默认长度,长度代表显示的最大宽度,如果不够则左边用0填充,但是需要搭配zerofill,并且默认变为无符号整型
2.浮点型
定点数:decimal或dec
浮点数:float(M,D) 4
double(M,D) 8
特点:
M代表整数部位+小数部位的个数,D代表小数部位
如果超出范围,则报out of range 异常,并且插入临界值
M和D都可以省略,但对于定点数,默认M位10,D为0
如果精度要求较高,则优先考虑使用定点数、
2.字符型:char,varchar,binary,varbinary,enum,set,text,blob
char:固定长度的字符,写法为char(M),最大长度不能超过M,其中M可以省略,默认为1
varchar:可变长度的字符,写法为varchar(M),最大长度不能超过M,其中M不能省略
3.日期型:
year:年
date:日期
time:时间
datetime:日期+时间 8
timestamp:日期+时间 4 受时区、语法模式、版本的影响,更能反映当前时区的真实情况