整数类型
id INT(11)
数字 11 表示该数据类型指定的显示宽度,一般只显示11位数字的宽度
显示宽度与数据类型的取值范围无关。显示宽度只是指明MySQL最大可能显示的数字个数,数值位数小于指定的宽度时会由空格填充;如果插入大于显示宽度的指,只要该指不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。如果不指定显示宽度,则系统为每一种类型指定默认的宽度。
根据实际需要选择合适的类型,有利于提高查询的效率和节省存储空间。
浮点类型和定点数类型
浮点数和定点数表示小数,
浮点类型分为:单精度浮点类型(FLOAT) 和 双精度浮点类型(DOUBLE)。
定点类型只有一种:DECIMAL
浮点类型和定点类型都可以用(M,N)来表示, M称为精度,表示总共的位数,N称为标度,是表示小数的位数。
不论是定点还是浮点类型,如果指定的精度超出精度范围,则会四舍五入进行处理
浮点数现对于定点数的有点事在长度一定的情况下,浮点数能表示更大的数据范围;缺点是会引起精度问题。
对精度要求表较高时(如货币,科学数据等)使用DECIMAL的类型比较好。两个浮点数进行减法和比较运算时也容易出现问题,所以在使用浮点类型时应尽量避免做浮点数的比较。
时间与日期
文本字符串类型
字符串类型用来存储字符串数据,还可以存储其他数据,如图片和声音。MySQL支持两类字符串数据:文本字符串和二进制字符串。
TEXT 类型
保存非二进制字符串,如文章内容、评论等。
ENUM 类型
枚举类型。
语法格式:
字段名 ENUM ('值1','值2',...'值n')
二进制字符串类型
运算符
参考: MySQL5.7从入门到精通(刘增杰)