1.数值类型:常用:
TINYINT 无符号 255 --1个字节 1个字节8位,所以范围为255
INT 无符号 2的32次方-1 --4个字节
FLOAT(M,D) 浮点型 精度在7位左右 M表示总位数,D表示小数位
DECIMAL (M,D)小数型 精度在30位左右 M表示总位数,D表示小数位
zerofill 即用0补充位数,当位数不满足规定位数时,用0补充
zerofill 定义的字段就是无符号类型
2.文本,二进制类型
CHAR(位数) 固定字符串长度 最长255 推荐位数确定时使用 位数 = 字符
最长就是255,与表的字符集无关。
VARCHAR(位数) 变长字符串 长度根据内容变化,但不超过规定位数
与表的字符集有关 utf8: size = (65535-3)/3 = 21844
第一个3用来存放数据大小,记录数据是否为空
第二个3表示utf-8下一个字节占三位。gbk 2位 latin1 1位
BLOB 二进制数据,可以存图片,但是不用
TEXT 大文本类型,存储大量字符串
3.日期时间类型
DATE 年月日
DATETIME 年月日 小时分钟秒
TIMESTAMP 时间戳,自1970.01.01.00(北京08时)到现在的描述 表每更新或插入自动更新。
4.STRING类型
ENUM 类型 枚举类型 一列的可选值,单选
SET类型 集合类型 一列的可选值,多选
一个技巧:在mysql客户端对齐显示数据 cmd>mysql -u root -p --default-character-set=latin1 (无分号)
进入后mysql>set names gbk;