MySQL基础之常见数据类型
原则:所选择的类型越简单越好,所需的类型的范围越小越好。
一、数值型:
整数:
整型有如下特点:
1-如果不设置有符号或者无符号,整型默认是有符号的,如果设置无符号,需要加unsigned
2-如果插入的数值超过整型范围,会报out of range异常,同时会插入临界值
3-如果不设置长度,系统会设置默认的长度
小数:定点数和浮点数
浮点数:
float(M,D)
double(M,D)
定点数:
decimal(M,D)或者dec(M,D)
特点:
1-M表示整数部位位数+小数部位位数
D表示四舍五入的小数部位位数
2-M和D都可以省略,如果是decimal,则M默认为10,D默认为0;如果是float和double,则会根据插入数值的精度来决定精度
3-定点型的精度更高
二、字符型
较短的文本:char、varchar之类的
char(M):代表固定长度的字符
varchar(M):代表可变长度的字符
较长的文本:text、blob(较长的二进制数据)
三、日期型
date:只保存日期
time:只保存时间
year:只保存年
datetime:保存日期+时间
timestamp:保存日期+时间
特点比较:
datetime与timestamp
datetime共占8字节,范围较大,不受时区影响,timestamp共占4字节,范围相对较小,受时区影响。