同步发布:Hedon丨MySQL丨语法丨(一)数据类型 (排版更佳!)
整数类型
以下参考:https://blog.csdn.net/weixin_30344795/article/details/95559363
对于 5 种整数类型(tinyint、smallint、mediumint、int、bigint),MySQL 还支持在类型名称后面的小括号内指定显示宽度。
::: danger 注意
括号中的数字并不是指该类型占用的字节数,而是指数据的宽度。
:::
(并不是该类型占用字节数)。
例如 int(5)表示当数值宽度小于 5 位的时候在数字前面填满宽度,如果不显示指定宽度则默认为 int(11)。一般配合 zerofill
使用,顾名思义,zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。
以下几个例子分别描述了填充前后的区别:
(1)创建表 t1,有 id1 和 id2 两个字段,指定其数值宽度分别为 int 和 int(5)。
(2)在 id1 和 id2 中都插入数值 1,可以发现格式没有异常。
(3)分别修改 id1 和 id2 的字段类型,加入 zerofill
参数:
::: warning 设置了宽度限制后,如果插入大于宽度限制的值,会不会截断或者插不进去报错?
不会对插入的数据有任何影响,还是按照类型的实际精度进行保存。
这个时候,宽度格式实际已经没有意义 。
:::
实数类型
![MySQL丨语法丨(一)数据类型_数据_06](https://s2.51cto.com/images/blog/202108/07/ff9833e19d6f30863a335e470ac1da23.jpeg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
- 123456789.987654321 = DECIMAL(18,9)
- 18 表示总数字个数
- 9 表示小数点后数字个数
- 共占用 4+4+1(小数点) = 9 个字节
时间类型
字符串类型
![MySQL丨语法丨(一)数据类型_数据_08](https://s2.51cto.com/images/blog/202108/07/c74bfdbf1496774cced3cad09388e78b.jpeg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)