天天看点

MySQL丨语法丨(一)数据类型

同步发布:Hedon丨MySQL丨语法丨(一)数据类型 (排版更佳!)

整数类型

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)。

MySQL丨语法丨(一)数据类型

(2)在 id1 和 id2 中都插入数值 1,可以发现格式没有异常。

MySQL丨语法丨(一)数据类型

(3)分别修改 id1 和 id2 的字段类型,加入

zerofill

参数:

MySQL丨语法丨(一)数据类型

::: warning 设置了宽度限制后,如果插入大于宽度限制的值,会不会截断或者插不进去报错?

不会对插入的数据有任何影响,还是按照类型的实际精度进行保存。

这个时候,宽度格式实际已经没有意义 。

实数类型

MySQL丨语法丨(一)数据类型
  • 123456789.987654321 = DECIMAL(18,9)
    • 18 表示总数字个数
    • 9 表示小数点后数字个数
    • 共占用 4+4+1(小数点) = 9 个字节

时间类型

字符串类型

MySQL丨语法丨(一)数据类型