在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MYSQL中的int(11)指的是什么

139次阅读
没有评论

共计 1907 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下 MYSQL 中的 int(11) 指的是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

                                                        在工作中经常要与 mysql 打交道,但是对 mysql 的各个字段类型一直都是一知半解,MYSQL 中的 int(11) 代表什么呢?大家可能也不太清楚,因此写本文总结记录一番。

MYSQL 中的 int(11) 指的是什么

对于 int 类型的一些基础知识其实上图已经说的很明白了,在这里想讨论下常用的 int(11) 代表什么意思,很长时间以来我都以为这代表着限制 int 的长度为 11 位,直到有天看到篇文章才明白,11 代表的并不是长度,而是字符的显示宽度,在字段类型为 int 时,无论你显示宽度设置为多少,int 类型能存储的最大值和最小值永远都是固定的,这里贴一些原文片段

The number in the parenthesis does not determines the max and min values that can be stored in the integer field. The max and min values that can be stored are always fixed.

The display width of the column does not affects the maximum value that can be stored in that column. A column with INT(5) or INT(11) can store the same maximum values. Also, if you have a column INT(20) that does not means that you will be able to store 20 digit values (BIGINT values). The column still will store only till the max values of INT.

那么照文中所说,所以无论怎么设置 int 类型的显示宽度,int 所能存储的最大值和最小值是固定的,那么这个显示宽度到底有什么用呢?
当 int 字段类型设置为无符号且填充零(UNSIGNED ZEROFILL)时,当数值位数未达到设置的显示宽度时,会在数值前面补充零直到满足设定的显示宽度,为什么会有无符号的限制呢,是因为 ZEROFILL 属性会隐式地将数值转为无符号型,因此不能存储负的数值。

具体用以下代码解释。

首先创建一张表:

CREATE TABLE int_demo ( id INT(11) NOT NULL AUTO_INCREMENT,
 a INT(11) NOT NULL,
 b INT(11) UNSIGNED ZEROFILL NOT NULL,
 c INT(5) DEFAULT NULL,
 d INT(5) UNSIGNED ZEROFILL NOT NULL,
 e INT(15) DEFAULT NULL,
 PRIMARY KEY (`id`)
)

插入两条数据

INSERT INTO int_demo (a, b, c, d, e) VALUES (1, 1, 1, 1, 1);
INSERT INTO int_demo (a, b, c, d, e) VALUES (1234567890, 1234567890, 1234567890, 1234567890, 1234567890);
 select * from int_demo;

idabcde110000000000110000112123456789001234567890123456789012345678901234567890

注释:如果用 navicate 软件查询出来并不会显示左边的 0,但把数据导出时可看到真实的数据,猜测是软件对数据格式进行了处理?

从上个例子我们可以得出以下几个结论:

如果一个字段设置了无符号和填充零属性,那么无论这个字段存储什么数值,数值的长度都会与设置的显示宽度一致,如上述例子中的字段 b,插入数值 1 显示为 00000000001,左边补了 10 个零直至长度达到 11 位;

设置字段的显示宽度并不限制字段存储值的范围,比如字段 d 设置为 int(5),但是仍然可以存储 1234567890 这个 10 位数字;

设置的字符宽度只对数值长度不满足宽度时有效,如 d 字段 int(5),插入 1 时,长度不足 5,因此在左边补充 4 个零直到 5 位,但是插入 1234567890 时超过了 5 位,这时的显示宽度就起不了作用了。

看完了这篇文章,相信你对“MYSQL 中的 int(11) 指的是什么”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1907字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久福利一区二区 | 国产精品久久久久久久久 | 少妇真实被内射视频三四区 | 中文字幕第二页精品一区 | 欧美口味重的毛片 | 男女下面一进一出好爽视频 | 欧美一级成人免费大片 | 亚洲综合激情五月色播 | 国产肉体xxxx裸体137大胆 | 天堂素人 | 初尝黑人巨砲波多野结衣 | 九色视频网 | 国产精品福利一区二区 | 影音先锋男人av鲁色资源网 | 中文字幕日本乱码仑区在线 | 十八禁视频网站在线观看 | 人妻熟女αⅴ一区二区三区 | 国产亚洲欧美在线观看三区 | 国产色无码精品视频免费 | 日日摸人人拍人人澡 | 欧美视频不卡 | 国内自拍 亚洲系列 欧美系列 | 免费国产视频 | 日韩 ed2k | 日本毛片在线看 | 无码永久成人免费视频 | 亚洲福利视频精选在线视频 | 337p日本欧洲亚洲大胆精品 | 肥臀浪妇太爽了快点再快点 | 国产一区二区三区久久精品 | 久久精品视频网站 | 亚洲中文字幕无码一区 | 国产高清在线观看 | 国产福利写真视频在线观看 | 国产日韩av在线播放 | 草草浮力地址线路①屁屁影院 | 欧洲成品大片在线播放 | 爱看精品福利视频观看 | 欧美乱妇无乱码大黄a片 | 亚洲欧美视频网站 | 国产精品久久亚洲不卡4k岛国 |