
最近在找工作所以一直在面试,在面试过程中暴露了自己很多不足的地方,一直在总结和归纳。可能大部分面试官对 mysql 的问题都会问数据库优化啊、主从复制啊、索引啊、引擎啊等等之类的。那么使我印象最深的是 int (10) 和 int (11) 有什么区别。这好像是最基础的问题了,我好像从来没有在意过。当时有点儿懵逼,有什么区别?不知道!没想过!
那么回到家以后,我赶紧复习了下 mysql 的数据类型相关知识。对整数类型做些说明。
mysql 中整数数据类型
| 数据类型 | 说明 | 存储需求 |
|---|---|---|
| tinyint | 很小的整数 | 1 字节 |
| smallint | 小的整数 | 2 字节 |
| mediumint | 中等大小的整数 | 3 字节 |
| int(integer) | 普通大小的整数 | 4 字节 |
| bigint | 大整数 | 8 字节 |
不同类型的取值范围
| 数据类型 | 有符号 | 无符号 |
|---|---|---|
| tinyint | -128~127 | 0~255 |
| smallint | -32768~32767 | 0~65535 |
| mediumint | -8388608~8388607 | 0~16777215 |
| int(integer) | -2147483648~2147483647 | 0~4294967295 |
| bigint | -9223372036854775808~9223372036854775807 | 0~18446744073709551615 |
不同数据类型的默认显示宽度
| 数据类型 | 默认显示宽度 |
|---|---|
| tinyint | 4 |
| smallint | 6 |
| mediumint | 9 |
| int(integer) | 11 |
| bigint | 20 |
* 因为负号占了一个数字位,所以各类型的宽度是最大值数字位 + 1 位。例如 tinyint 的最大数字位是 3,加负号所以显示宽度是 4。
那么取值范围和显示宽度到底有什么关系呢?我利用 tinyint 做了个实验,首先创建一张表如下
Trae国内版
国内首款AI原生IDE,专为中国开发者打造
2045
查看详情
mysql> desc test_integer; +-----------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | test_id_1 | tinyint(1) | NO | | NULL | | | test_id_2 | tinyint(4) | NO | | NULL | | +-----------+------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
我分别创建了有符号 tinyint 类型的 test_id_1 显示宽度为 1 和 test_id_2 显示宽度为 4 两字段,接下来插入数据,同时插入 - 128、1 和 127 这些数值,看看会怎么样。
mysql> insert into test_integer (test_id_1,test_id_2) values (-128,-128), (1,1), (127,127); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0
ok 提示插入成功,我们查询一下
mysql> select * from test_integer; +----+-----------+-----------+ | id | test_id_1 | test_id_2 | +----+-----------+-----------+ | 1 | -128 | -128 | | 2 | 1 | 1 | | 3 | 127 | 127 | +----+-----------+-----------+ 3 rows in set (0.00 sec)
查询出来的结果也是一样,经过以上实验得到结论:
显示宽度整数类型的取值范围是无关的。显示宽度只是指明 mysql 最大可能显示的数字个数,数值的位数小于指定的宽度时就由空格填充,如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。
同理,所以 int (10) 和 int (11) 没有任何区别,就是显示宽度不同,小伙伴们千万不要忘记了呀。
推荐教程:《PHP教程》
以上就是在 MySQL 中 int (10) 和 int (11) 的区别的详细内容,更多请关注其它相关文章!
# int
# 镜像
# 解锁
# 国内
# mysql
# dy关键词排名优化
# 起飞网站建设
# 厦门市品牌营销推广公司
# 唐山市网站建设价格
# 平凉seo公司选择16火星
# 安顺景区网站建设费用表
# seo实战密码感言
# 大良伦教网站建设方案
# seo整体运营
# 麻涌塘厦网站建设
# 从来没有
# 中文网
# 相关文章
# 没有任何
# 修改密码
# 的是
# 有什么区别
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
《桃源记2》资源采集攻略
《荔枝fm》导出文件教程
汽水音乐车机版官网5.0 汽水音乐车机版5.0版本下载入口
嘀嗒顺风车如何开具电子发票
TikTok收藏夹无法删除视频如何解决 TikTok收藏管理优化方法
快递优选如何查优选物流_快递优选专属物流渠道查询与配送时效
家里的小飞虫总是不断,用什么方法可以彻底根除?
Firefox OS应用开发:解决XMLHttpRequest跨域请求阻塞问题
Go Goroutine调度与并发执行深度解析
PHP中获取HTTP响应状态消息:方法与限制
《东方财富》条件单关闭方法
解决PHP MySQL数据库更新无响应:SQL查询语法错误解析
德邦快递查询入口登录官网 德邦快递单号查询系统入口
广州地铁app准妈咪徽章领取方法
汽水音乐车机版 汽水音乐车机版官方入口
三星M34录音变声问题_Samsung M34麦克风调整
漫蛙漫画官方网站使用_漫蛙manwa网页版在线入口教程
mysql如何配置从库只读_mysql从库只读设置方法
Sublime怎么格式化HTML代码_Sublime前端代码美化插件使用指南
Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】
盲鳗善于分泌黏液猜猜主要用来做什么
《伊瑟》凶影追缉库卢鲁boss攻略
Dagster资产间数据传递与用户配置管理教程
c++如何链接Boost库_c++准标准库的集成与使用
Retrofit根路径POST请求:@POST("/") 的应用与解析
《兴业银行》注册登录方法
C++ optional用法详解_C++17处理可能为空的返回值
飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读
谷歌浏览器怎么把网页翻译成中文_Chrome网页翻译功能使用方法
《U校园》学生登录入口2025
PHP多语言网站的实现:会话管理与翻译函数优化教程
如何查询个人病历记录
从J*a应用程序中导出MySQL表数据的技术指南
Animex动漫社正版在线入口 Animex动漫社动漫官方观看网
Go App Engine 项目结构与包管理深度指南
VS Code源代码管理(SCM)视图的进阶使用技巧
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
风车动漫官网首页入口登录 风车动漫在线观看正版地址
CodeIgniter 3 中基于 MySQL 数据高效生成动态图表教程
邦丰播放器频道搜索设置
sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧
性能与资源监视器快捷打开
Win10显卡驱动安装失败怎么办 Win10使用DDU彻底卸载驱动【解决】
12306APP选座怎么选充电位置_12306APP带充电插座座位选择方法与技巧
使用 .htaccess 正确配置 WordPress 子目录重定向与路径保留
雨课堂官网在线登录 网页版雨课堂登录链接
支付宝网页版在线入口 支付宝官网电脑登录入口
不吃碳水化合物是健康减肥的好办法吗
在React中正确处理HTML input type="number"的数值类型
Lar*el Eloquent中通过Join查询关联数据表:解决多行子查询问题
2020-05-20
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。