概要:
1、介绍mysql中常用的数据类型
2、数据类型选择的建议
MySQL 的数据类型(后面的数字表示字节数)(m:为该值的总共长度,d:小数后面的位数)
- 整数类型: bit 、bool 、 tinyint(1) 、smallint(2) 、mediumint(3) 、int(4) 、bigint(8)
- 浮点数类型: float(m,d)(4)、double(m,d)(8) 、 decimal(m,d)(m>d?m+2:d+2)
- 字符串类型:char、varchar、 tinyblob、blob、 mediumblob、longblob、tinytext、text、
- 日期类型:Date、 DateTime (8)、TimeStamp(4)、Time(3)、 Year (1)。
1、类型(n)说明
在开发中,我们会碰到有些定义整型的写法是int(11), 这种写法我感觉在开发中没有什么用途,不过还是要说一下,对于int(11), 我们需要记住两点:
(1) 、无论N为多少,int永远占4个字节,
(2)、N表示的是显示宽度,不足的用0来补,超过的则无视长度而直接显示数字。
2、浮点类型
float 和double在不指定精度时,默认按照实际的精度来显示,decimal在不指定精度时,默认整数为10,小数为0,小数点后面会进行四舍五入,并且插入会有警告。
3、建议
- 选小不选大:一般选择可以存储数据的最小数据类型。
- 简单就好,比如整型比字符串的代价小得多
- 浮点类型的建议统一选择decimal。
- 记录时间的建议用int或者用bigInt类型,将时间转换成时间戳格式,如将时间转换成秒,毫秒进行存储,方便走缓存。