tinyint : 迷你整型 使用 一字节 存储
smallint : 小整型 使用 两字节 存储
mediumint : 中整型 使用 三字节 存储
int : 整型 使用 四字节 存储
bigint : 长整型 使用 八字节 存储
unsigned: 类型限定为无符号型
浮点型:小数点浮动,会丢失精度(超出指定的范围之后会四舍五入)
float : 单精度 占用 四字节 存储
double:双精度 占用 八字节 存储
定义: float/double(M,D) 其中M代表数据总长,D代表小数部分长度
例: filed flaot(10,2) 代表数据最大长度为10位,小数点为2位,整数部分为八位。
注意: 插入数据时,整数部分不能超过指定的数据位数,小数部分超过的做四舍五入
定点型:小数点确定,精度确定
decimal: 变长,大致是采用每9个数采用4个字节存储
定义: decimal(M,D),其中M代表数据总长,D代表小数部分长度
注意: 如果因为进位导致长度溢出,会导致插入数据失败,区别于浮点数
datatime:YYYY-mm-dd HH:ii:ss 有0值 0000-00-00 00:00:00 八位
date : YYYY-mm-dd 三位
time: HH:ii:ss 三位
timestamp: 从1970年开始的 YYYY-mm-dd HH:ii:ss 八位
year: 年份有两种形式 year(2)和year(4),1970/1901-2156年 一位
注意 对数据表中的数据进行操作时,timestamp会自动更新成当前时间
定长字符串:在数据定义时已经确定了最终的存储长度
char(L):代表字符长度,最大为256。
变长字符串:在分配的时候按最大空间分配,实际最终的按照具体数据来确定
varchar(L):代表字符长度,理论长度为65536,但是要根据数据预留字节存储实际长度
枚举字符串:预先规定数据,实际只能是规定中的数据一个。
枚举在存储中其实存储的是序号,并不是字符串本身
enum (选项1,选项2,....):在插入数据时,必须是括号中有的数据,也可以用序号插入
集合:集合数据是多选,存储是按位存储的
set(选项1,选项2,...):插入的时候用逗号隔开多个数据(" 选项1,选项2")
备注:mysql中最任何一条记录不能超过65536个字节