我是靠谱客的博主 魔幻嚓茶,最近开发中收集的这篇文章主要介绍关于Mysql下int()类型字段大小理解一. 储备知识,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一. 储备知识

1.1 int的范围

1.2 int(10)的意思

1.3 总结


一. 储备知识

在设计数据库表的时候,经常需要设计一个id字段,它的类型一般都是整型int,经常会遇到int(10)、int(20)等等,那么括号中的内容代表什么意思呢?

1.1 int的范围

有符号的整型范围是-2147483648~2147483647(-2^31 ~ 2^31-1)
无符号的整型范围是0~4294967295 (0 ~ 2^32-1)

1.2 int(10)的意思

int(10)的意思是假设有一个变量名为id,它的能显示的宽度能显示10位。在使用id时,假如我给id输入10,那么mysql会默认给你存储0000000010。当你输入的数据不足10位时,会自动帮你补全位数。假如我设计的id字段是int(20),那么我在给id输入10时,mysql会自动补全18个0,补到20位为止。

在Navicat下建表一般不会勾选无符号且填充零(UNSIGNED ZEROFILL)

这里以宽度20为例

表的内容数据未补位0

在Navicat下建表勾选无符号且填充零(UNSIGNED ZEROFILL)来看看这个宽度是否补位

如下图,显然是是可以的

此时我们可以发现最大值4294967295(无符号)可以存入,超过则不行

1.3 总结

int(M)的作用于int的范围明显是无关的,int(M)只是用来显示数据的宽度,我们能看到的宽度。当字段被设计为int类型,那么它的范围就已经被写死了(看上面的1.1节的内容),与M无关。

引用一下《高性能MySQL》的说明:

在这里插入图片描述

说白了:这个大小只是指定了宽度大小,丝毫不影响int类型的范围,即它所能存储的数值。

看下图,当最字节大小设为为5位时 ,并不影响它的数据值存储(在范围内都可)

最后

以上就是魔幻嚓茶为你收集整理的关于Mysql下int()类型字段大小理解一. 储备知识的全部内容,希望文章能够帮你解决关于Mysql下int()类型字段大小理解一. 储备知识所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部