Mysql--数据类型
数据类型的分类
数值型(整型、小数)、字符型、日期型,小数分为定点数和浮点数。
一、整型
注:①如果不设置无符号,默认是有符号的,如果设置为无符号的,需要添加unsigned关键字。
②如果插入的数值超过整型的范围,报out of range 异常,并插入临界值。
③如果不设置长度,会有默认长度。
④长度代表显示的最大宽度,如果不够用0在左侧补充,但必须搭配zerofill 使用
插入临界值:
默认长度:
设置无符号类型:
设置0填充,会自动将unsigned添加:
0填充的情况:
二、小数
float(M,D) double(M,D)和dec(M,D) decimal(M,D)
注:
①M:范围是整数部分+小数部分
②D:是指小数部分
③如果超出范围,则插入临界值
④M和D均可省略,如果是DEC,则默认值10,D默认是0
⑤float和double,会根据插入的数值的精度来决定精度
⑥定点型的精度较高,如果要求插入数值的精度较高如货币运算等则考虑使用
Dec 的默认值:
默认长度和精度:
三、字符型
短的文本:
char(M)、varchar(M)
Binary和varbinary 用于保存较短的文本
Enum用于保存枚举类型
Set用于保存集合
长文本:
text blob(较大的二进制)
char和varchar的区别:
四、日期类型
注:
①date只保存日期、time只保存时间、year值保存年
②datetime 保存日期+时间,timestamp保存日期+时间