数值类型
| 类型 | 大小 | 用途 |
|---|
| tinyint | 1个字节 | 很小的数值 |
| smallint | 2个字节 | 较小的数值 |
| mediumint | 3个字节 | 中等大小的数值 |
| int | 4个字节 | 标准整数数值(常用) |
| bigint | 8个字节 | 较大的数值 |
| float | 4个字节 | 单精度浮点数 |
| double | 8个字节 | 双精度浮点数(常用) |
| decimal | 对decimal(M, D) ,如果M > D,为M + 2否则为D + 2) | 字符串形式浮点数(银行业务、金融计算等,解决浮点数误差) |
字符串类型
| 类型 | 大小 | 用途 |
|---|
| char | 0~255字节 | 定长字符串 |
| varchar | 0~65535字节 | 可变字符串(常用) |
| tinytext | 0~255字节 | 短文本 |
| text | 0~65535字节 | 长文本(常用) |
日期时间类型
| 类型 | 大小 | 格式 | 用途 |
|---|
| date | 3个字节 | YYYY-MM-DD | 日期 |
| time | 3个字节 | HH:MM:SS | 时间 |
| datetime | 8个字节 | YYYY-MM-DD HH:MM:SS | 混合日期和时间(常用) |
| timestamp | 4个字节 | 1970-1-1 00:00:00到现在的毫秒数 | 时间戳(常用) |
| year | 1个字节 | YYYY | 年份 |
总结
没有特殊要求的情况下,直接使用常用的几种类型,如果有其他要求,比如节省空间、精度……等要求时,再按要求选择合适的数据类型。