一、数据类型
1、字符串
1)char(length) 定长字符串 ; 最长255字符 ; 存入的字符串长度不足时,右边会自动补空格;
2)varchar(最大长度) 可变长字符串 ; 最大65535字节;
扩展: 对存储要求不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。 在用char字符类型时内容后面有空间时必须作相关处理,要不就会把空格自动删除。 在检索操作中那些填补出来的空格字符将被去掉 建议:myisam 存储引擎 建议使用固定长度,数据列代替可变长度的数据列。 在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节). |
3)text 最大长度65535个字节; 一般描述性文字比较多的时候,尽量使用text。使用text,在进行模糊查询的时候,并不会影响速度的
4)blob 大对象类型 ;最大长度65535个字元 ;
2、数字
1)unsigned 无符号
2)zerofill 填充0
在列中使用zerofill,如插入int(4),你插入1,显示0001;你插入55555,显示也是55555; 插入负数显示为0000,因为mysql自动增加UNSIGNED属性 UNSIGNED不能为负数,当你插入负数时就显示0, |
3)tinyint 1字节 ;
4)smllint 2字节 ;
5)int 4字节 ;
int(5) 查询显示时,按5位显示,不足5位可以选择补0(zerofill), 例如: 23 à 00023,超过5位没有影响 |
6)bigint 8字节
7)float
8)double
9)decimal( m , n ) 定点数 ; 如果表示钱,应该用decimal ; 总共m位,小数位n位 ; 字节量 m+2 ;
3、日期
1) date 年月日 ;
2)time 时分秒 ;
3)datetime 年月日时分秒 ;
4)timestamp
时间戳,最大只到2038年,修改数据时,表中第一个timestamp字段会自动更新成系统当前时间(只有第一个) ; timestamp不能放入空值 ;
4、其他
1)mysql的数据表所有字段字节量之和不能超过65536
2)如果存在允许null(空值)的字段,表中需要一个额外字节来表示
3)varchar,255内,需要一个额外字节表示长度,超过255,需要两个额外字节表示长度