# 1. 数据类型

# 整数类型

image-20210205220633953

以下参考:https://blog.csdn.net/weixin_30344795/article/details/95559363

对于 5 种整数类型(tinyint、smallint、mediumint、int、bigint),MySQL 还支持在类型名称后面的小括号内指定显示宽度。

注意

括号中的数字并不是指该类型占用的字节数,而是指数据的宽度

并不是该类型占用字节数)。

例如 int(5)表示当数值宽度小于 5 位的时候在数字前面填满宽度,如果不显示指定宽度则默认为 int(11)。一般配合 zerofill 使用,顾名思义,zerofill 就是用“0”填充的意思,也就是在数字位数不够的空间用字符“0”填满。

以下几个例子分别描述了填充前后的区别:

(1)创建表 t1,有 id1 和 id2 两个字段,指定其数值宽度分别为 int 和 int(5)。 img

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

(3)分别修改 id1 和 id2 的字段类型,加入 zerofill 参数: img

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

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

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

img

# 实数类型

image-20210205220916858
  • 123456789.987654321 = DECIMAL(18,9)
    • 18 表示总数字个数
    • 9 表示小数点后数字个数
    • 共占用 4+4+1(小数点) = 9 个字节

# 时间类型

image-20210205221526117

# 字符串类型

image-20210205221656186
上次更新: 8/5/2021, 9:08:33 PM