MySQL int 类型长度有啥用? int(11) 和 int(20) 有啥区别?

MySQL中,int类型的长度并不会影响数值范围,主要作用在于ZEROFILL属性。当启用ZEROFILL时,如int(3)的1会被填充为001。此外,文章还提到了不同整数类型的最大位数,并指出char和varchar的长度直接影响存储的字节数。对于数值类型,长度只在显示时有意义,而对于字符类型,长度直接决定了字符存储的数量。
摘要由CSDN通过智能技术生成

MySQL int 类型长度有啥用?

数值类型设置的长度并不影响该数值字段的取值范围 所以正常来说没什么用。

其长度只有在设置 ZEROFILL 即 “填充零” 后才有所意义。

在这里插入图片描述

比如 int(3) 存储 1 ,填充零时会填充为 001。

包括以下数值类型字段:

类型字节有符号取值范围无符号取值范围默认宽度
TINYINT1-128 ~ 1270 ~ 2554
SMALLINT2-32768 ~ 327670 ~ 655356
MEDIUMINT3-8388608 ~ 83886070 ~ 167772159
INT4-2147483648 ~ 21474836470 ~ 429496729511
BIGINT8-9223372036854775808 ~ 92233720368547758070 ~ 1844674407370955161520

此处默认宽度应该是按 无符号最大值位数 + 1 来计算

而其他 char 和 varchar 是实实在在表示字节大小范围,在UTF-8编码下,char(1)则表示只能存1个字符(汉字),char(5)则表示只能存5个字符(汉字)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dying 搁浅

两杯酒,一杯敬你余生多欢喜。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值