1.总览
可见:
数据类型分3大类:数值型,字符型,时间型;
2.整数类型
说明:
1,每一种类型所存储的数据占据的空间是固定的,而跟数据的大小无关。
2,整数类型的通用写法:
类型名【(显示长度)】【unsigned】 【zerofill】
3,显示长度是指select出来数据时的显示长度,而跟数据大小无关。
4,unsigned(无符号)用于设定该字段不可以存储负数。
5,zerofill用于设定在显示长度的设定上来填充0
演示整数类型的使用:
create table int_test(
id int,
age tinyint unsigned,
f3 smallint(8) zerofill
);
insert into int_test values(1, 1, 1);
insert into int_test values(123, 123, 123);
#下一行报错,因为第二个数-1不符合unsigned设定
insert into int_test values(-1, -1, -1);
3.小数类型
小数:
浮点数:
float:单精度浮点数:只能精确到6-7位
double:双精度浮点数:能够精确到大约15位
定点数:
decimal:可以精确到自己设定的位数,该位数可以在0-30之间。
decimal的通常设定形式为:decimal(总长度,小数点后长度)
一个典型错误提示:
举例:
结果:
4.常见字符串类型
字符串在“字面值”上,必须使用单引号。
定长字符串:char
必须设定长度,表示其设定的长度,也就是最终存储的数据长度。如果数据不足设定长度,内部会补空格填充到设定长度;
这里,长度是指“字符个数”,最大能设定为255.
变长字符串:varchar
必须设定长度,表示其设定的长度,是该字段最长能存储的长度,如果存储的实际数据不够那么长,则就按实际数据存储。
这里,长度是指“字符个数”,最大能设定为65535(理论值).
长文本字符串:text
不用设定长度,其默认都是65535个字节。
enum类型:枚举类型——就是多个选项中选择一个——相当于“单选项的数据值”:
它确实主要用于应用中的“单选项”的数据存储。
形式:
enum(‘选项值1’,‘选项值2’,‘选项值3’,......)
说明:
1,每个选项值,都是一个字符串;
2,每次存储只能存储其中一个值;
3,这些选项值,在系统内部其实分别对应整数值:1,2,3,4,5,.....这样内部处理数据更高效。
4,我们在操作中,也可以直接使用这个整数值;
举例:
set类型:相当于“多选项的数据值”:
它确实主要用于应用中的“多选项”的数据存储。
形式:
set(‘选项值1’,‘选项值2’,‘选项值3’,......)
说明:
1,每个选项值,都是一个字符串;
2,每次存储都能存储其中一个或多个值,形式为:’值1,值2,值4’
3,这些选项值,在系统内部其实分别对应整数值:1,2,4,8,16,32,.....这样内部处理数据更高效。
4,我们在操作中,也可以直接使用这些整数值:但需要一定的运算规则。