我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql中的int(5)到底有是多长

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql中的int(5)到底有是多长

int(5)到底有是多长

在设计 mysql 表字段时,int(5) 表示是该字段长度为 5 吗?

如果你觉得是,那请你继续往下看,相信你会有新的收获的。

先来看一个实际例子

我们创建一个新表,表中只有一个主键 id 和一个 length 字段,其中 length 字段设置为 int(5) 。

#新建test表
CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `length` int(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

是不是 length 字段只能存储长度不超过 5 的数字呢,我们来插入一条数据试试。

我们插入一条较大的数据 123456789 ,这个数据一共有 9 位,看能否正常插入。

#插入一条大数据
insert into test (length) values (123456789);

结果证明 int(5) 能插入长度大于 5 的数据,所以现在可以肯定的是 int(5) 并不是代表数据的宽度。

#查看插入数据
mysql> select * from test;
+------------+-----------+
| id         | length    |
+------------+-----------+
|  1         | 123456789 |
+------------+-----------+

在 mysql 中 int 字段长度其实是固定的,就是 4 个字节,不管你 int(11)  还是 int(5) 字段长度就是固定的 4 个字节。

int(5) 其实是和另一个属性 zerofill 配合使用的,表示如果该字段值的宽度小于 5 时,会自动在前面补 0 ,如果宽度大于等于 5 ,那就不需要补 0 。

#int(5) length 字段添加了 zerofill 属性
mysql> select * from test;
+----+--------+
| id | length |
+----+--------+
|  1 |  00888 |
|  2 |  00012 |
|  3 |  12345 |
|  4 | 123456 |
+----+--------+

注意前提是给该字段添加了 zerofill 属性,不然 int(5) 不起作用。

#int(5) length 字段没有 zerofill 属性
mysql> select * from test;
+----+--------+
| id | length |
+----+--------+
|  1 |    888 |
|  2 |     12 |
|  3 |  12345 |
|  4 | 123456 |
+----+--------+

要想对整形字段设置长度,应该是选择 tinyint、smallint、mediumint、int、bigint 这几个类型,这几个整数类型才代表了固定的长度,具体长度请看下面这个表格。

mysql中的int(5)到底有是多长

注意如果要存储带符号的整形数,是不支持 zerofill 属性的,会自动转换为 0,在一些涉及递减的业务中需要注意考虑一下。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql中的int(5)到底有是多长

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql中的int(5)到底有是多长

目录int(5)到底有是多长先来看一个实际例子总结int(5)到底有是多长在设计 mysql 表字段时,int(5) 表示是该字段长度为 5 吗?如果你觉得是,那请你继续往下看,相信你会有新的收获的。先来看一个实际例子我们创建一个新表,
2023-04-12

mysql中int(5)的长度是多少

这篇文章主要介绍“mysql中int(5)的长度是多少”,在日常操作中,相信很多人在mysql中int(5)的长度是多少问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中int(5)的长度是多少”的疑
2023-07-06

MySQL中int(n)后面的n到底代表的是什么意思

你可能已经知道int(1)这个长度1并不代表允许存储的宽度!但对这个长度很多人也没有真正研究过到底代表什么,今天我就来简单的分析一下!先看一个简单的建表小案例:create table test(id int(11) unsigned NO
2022-05-30

MySQL中如何找到列名长度大于5的所有列?

使用 HAVING 查找列名长度大于 5 的所有列。这将产生以下输出 -+-------------------+-------------------------+| TABLE_NAME | COLUMN_NAME
2023-10-22

MySQL中如何找到列名长度大于5的所有列

可以使用以下SQL语句来找到列名长度大于5的所有列:sqlSELECT COLUMN_NAMEFROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_SCHEMA = 'your_database_name'A
2023-10-20

什么是新零售?新零售背面的新技术到底有多强?

新零售的概念进入商业流通不过几年,而实际上,其背后关于人工智能、大数据、云计算等基础技术,在消费者看不见的生产、物流、供应链等诸多环节,创建零售新场景和新模式,正发生着更加深刻的改变。 了解更多E+新零售产业互联网,可关注“产业互联
2023-06-05

MySQL中每种类型标识符的最大长度是多少?

众所周知,MySQL 中的某些对象被称为标识符。这些对象包括数据库、表、索引、列、别名、视图、存储过程、分区、表空间等。标识符使用 Unicode (UTF-8) 存储。每种类型标识符的最大长度如下表所示:Sr.编号标识符最大长度(字符)1
2023-10-22

编程热搜

目录