主要用于创建一个表时,设定字段的类型
示例:create table tab1(id int,name varchar(20));
数字型包含整数类型和小数类型
1.整数类型:int(4)、tinyint(1)、smallint(8)、bigint
形式:类型名【(M)】【unsigned】【zerofill】
说明:(1)M设定显示长度,即select输出时,121可能显示为000121(M为6)
(2)unsigned:无符号整数
(3)zerofill:是否填充0到一个数字的左边,与M配合使用
(4)如果设定了zerofill,默认具备了unsigned修饰
2.小数类型:float、double、decimal
Float:单精度浮点型,4个字节,精度大约有6-7个有效数字
Double:双精度浮点型,8个字节,精度大约有20个有效数字
Decimal:定点小数类型,整数部分最长35位,小数部分最长30位。格式:decimal(总位数,小数部分位数)
字符类型:在mysql中的字符串,应该使用单引号引起来
varchar类型:变长字符串,使用时必须设定其长度,即最多可存储的字符个数
char类型:定长字符串,使用时需设定长度,若不设定,默认是1
适用于存储的数据都是可预见的明确固定长度的字符,比如手机号、中国邮政编码,实际存储时,如果少于设定长度,会补空格填满
enum类型:单选项字符串数据类型。适用于存储表单界面中的“单选项值”
设定时,需给定几个选项,存储时,只存储其中的一个值
形式:enum(“选项1”, “选项2”, “选项3”);
实际内部:这些字符串选项对应于数字值:1,2,3,……
写入数据形式:可用该字符串本身,也可用对应数字
set类型:多选项字符串数据类型。适用于存储表单界面中的“多选项值”
设定时,需给定几个选项,存储时,只存储其中若干个值
形式:set(“选项1”, “选项2”, “选项3”);
实际内部:这些字符串选项对应于数字值:1,2,4,8,16……(最多64个)
写入数据形式:可用该字符串本身,也可用对应数字的和
示例:
creat table enum_set(
id int auto_increment primary key,
sex enum('男','女'),
fav set('篮球','足球','排球')
); //enum与set的使用
insert into enum_set (id,sex,fav) value(null,'男','篮球,排球');
等价于insert into enum_set (id,sex,fav) value (null,1,5);
text类型:长文本类型,存储的内容不占据表格中的数据容量限制,本身最长可存储65535个字符。
其他同类型:smalltext、tinytext、longtext
其他:
Binary类型:定长二进制字符串类型,存储的是二进制值
Varbinary类型:变长二进制字符串类型,存储的是二进制值
Blob类型:二进制字符串类型,存储的是二进制值。适用于图片、文件等。
日期类型
Datatime类型:时间日期类型
Data类型:日期类型
Time类型:时间类型
Year类型:年份类型
Timestamp类型:时间戳类型,指一个时间的数据值—本质其实是一个数字,类似于js中的GetTime(),或php中的Time()。得到的是一个整数数字。
会自动获得时间戳的数据值----相当于now()
在插入时间日期数据时,需用单引号引起来。