数值类型
整型
- bit(M) 位类型
M指定位数, 默认值1, 范围1 - 64
- tinyint 1个字节
- smallint 2个字节
- mediumint 3个字节
- int 4个字节
- bigint 8个字节
浮点型
- float 单精度 4 个字节
- double 双精度 8 个字节
- decimal[M,D] 大小不确定
定点数 M指定长度, D表示小数点的位数 可以支持更加精确的小数位, M是小数位数(精度) 的总数, D是小数点(标度) 后面的位数 如果D是0, 则值没有小数点部分或分数部分. M最大65, D最大30. 如果D 被省略, 默认是 0. 如果M被省略, 默认是10 建议: 如果希望小数的精度高, 推荐使用decimal
文本类型(字符串类型)
- char 0 - 255 字符
- 定长 不确定长度的情况下会造成空间浪费
- 固定长度字符串 最大255字符
- varchar 0 - (65535 - 3) [0 ~ 2^16 - 1] **字节 **
- 变长 不会造成空间浪费
- (最大65535字节 utf8最大21844字符 1-3个字节用于记录大小)
- 如果表的编码是 utf8 varchar(size) size = (65535 - 3) / 3 = 21844字符
- 如果表的编码是 GBK varchar(size) size = (65535 - 3) / 2 = 32766字符
- 查询速度: char > varchar
- text
- 0 ~ 2 ^16 - 1
- longtext 0 ~ 2^32 - 1 变长
二进制数据类型
- blob 0 ~ 2 ^ 16 - 1
- longblob 0 ~ 2^32 - 1
日期类型
- date 日期 年月日
- time 时间 时分秒
- datetime 年月日 时分秒 YYYY-MM-DD HH:mm:ss
- timestamp 时间戳
- year 年