整数
tinyint(m) 1个字节 范围(-128~127) smallint(m)2个字节 范围(-32768~32767) mediumint(m)3个字节 范围(-8388608~8388607) int(m)4个字节 范围(-2147483648~2147483647) bigint(m)8个字节 范围(+-9.22*10的18次方)
注意:
数值类型中的长度 m 是指显示长度,并不表示存储长度,只有字段指定 zerofill 时有用
例如: int(3) ,如果实际值是 2 ,如果列指定了 zerofill ,查询结果就是 002 ,左边用 0 来 填充
浮点数
float(m,d)单精度浮点型 8位精度(4字节) m总个数,d小数位 double(m,d)双精度浮点型 16位精度(8字节) m总个数,d小数位
字符
char(n)固定长度,最多255个字符 tinytext可变长度,最多255个字符 varchar(n)可变长度,最多65535个字符 text可变长度,最多65535个字符 mediumtext可变长度,最多2的24次方-1个字符 longtext可变长度,最多2的32次方-1个字符
注意:
查询速度: char最快, varchar次之,text最慢。
char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定长。
varchar可变长度,可以设置最大长度;适合用在长度可变的属性。
text不设置长度, 当不知道属性的最大长度时,适合用text。
日期
date日期 YYYY-MM-DD time时间 HH:MM:SS datetime日期时间 YYYY-MM-DD HH:MM:SS timestamp时间戳YYYYMMDD HHMMSS
二进制
BLOB和TEXT存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而Blob是以二进制方式存储,不分大小写。
BLOB存储的数据只能整体读出。
TEXT可以指定字符集,BLOB不用指定字符集