1.常见的数据类型
数值型:
整形:
- Tinyint (1字节)
- Smallint (2字节)
- mdeiumint(3字节)
- int(4字节)
- bigint(8字节)
特点:
a. 设置字段的符号(正数或负数)默认是有符号的
create table test(
id int,
age int unsigned
);
b.如果插入的数值超出整形的范围,会报警高 out of range 异常,并且插入临界值。
c.如果不设置长度会有默认长度。他的长度是显示的位数,不是它数值范围,如果数值不够,会用0从左边填充,但是在建表的时候要用关键字zerofull ,使用它之后unsigned使用符号会无效;
小数:
浮点数:
float(M,D):
double(M,D):
定点数
dec(M,D):
decimal(M,D)
特点:
1.M:代表整数位+小数位,D:代表小数位,如果超出范围则会插入临界值
2.M和D都可以省略
如果是decimal,默认是(10,0),
如果是float 和double ,会根据插入的数值的精度来决定精度。
3.定点值的精度较高,如果是货币运算,金钱请考虑使用。
原则:
所选的类型越简单越好,能保存的数值的类型越小越好。
字符型:
较短的文本
1.char(M) 最大字符数M 特点固定长度的字符(默认长度1) 耗费空间 效率高
2.varchar(M) 最大字符数M 可变长度的字符 省空间 效率低
3.enum
set 集合
较长的文本:
text:
日期
date :只保存日期
time :只保存时间
year :保存年
datetime保存日期+加时间
timestamp保存日期+时间
datetime 字节 (8) 范围 (1000-9999)不受时区影响
timestamp 字节(4)范围(1970-2038)受时区影响