数值数据类型
整数类型
小数类型
日期和时间类型
DATETIME和TIMESTAMP的区别
DATETIME是插入什么存什么,而TIMESTAMP是采用utc格式保存的,存储时会根据时区转换,查询时也会根据时区转换
DATE存到DATETIME和TIMESTAMP,时间部分没有;DATETIME和TIMESTAMP存DATE,时间部分被设置成“00:00:00”
文本字符串类型
CAHAR类型保存时不足长度则用空格补足,检索时去除掉尾末的空格
VARCHAR类型保存时按实际长度加一个字符串结束字符,保存和检索时保留末尾空格
TEXT类型保存和检索时不删除尾部空格
ENUM类型是一个字符串对象,定义字段时 字段名 ENUM(‘值1’,’值2’),创建时尾部有空格会自动删除;在内部用整数表示,每个枚举值都有一个索引值,select eum,eum+0 from table查看索引值;ENUM的默认值,如果定义字段为not null则字段默认值为第一个字符,否则为null;一次只能取定义的一个值
SET类型是一个字符串对象,定义字段时 字段名 SET(‘值1’,’值2’);在内部用整数表示,每个成员都有一个索引值;与ENUM不同是SET可以取定义的多个值联合;如果有重复,会自动去重,会有排序。
二进制字符串类型
BIT类型是位字段类型,不足定义的位数,左边用0填充
BINARY存储二进制字符串,不足定义位数时右边使用‘\0’填充
VARBINARY类型保存时按实际长度加一个字符串结束字符