网站首页 > 技术文章 正文
MySQL 中定义表格的字段时,有一个常见的数据类型就是 int(11)。那么这个 int(11) 到底代表什么意思呢?往下看↓ ↓ ↓
首先,让我们来看一下 int 数据类型的定义。在 MySQL 中,int 数据类型是一种整数类型,可以存储有符号的整数值,其取值范围为 -2147483648 到 2147483647。也就是说,int 数据类型在 MySQL 中所占用的存储空间是 4 个字节。
那么,int(11) 中的括号里的11代表什么意思呢?实际上,这个括号中的数字并不代表 int 数据类型所占用的存储空间,而是表示该字段的显示宽度。换句话说,int(11) 中的 11 表示该字段的最大显示宽度为 11 个字符。但是,需要注意的是,这个数字并不影响该字段的存储空间或取值范围。
为了更好地理解 int(11) 的意义,我们可以通过以下实例进行说明。假设我们有一个表格,其中有一个字段定义为 int(11),名为 id。如果我们向该字段插入一个值为 1234567890 的整数,那么该值会被完整地存储在该字段中,并不会受到显示宽度的限制。但是,如果我们使用类似于 SELECT id FROM table 的 SQL 查询语句来查询该表格中的数据,该字段的值会以宽度为 11 个字符的形式显示出来,不足 11 个字符的值会在前面填充空格。
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);
结果如下:
需要注意的是,int 字段的显示宽度并不是必需的。如果不指定显示宽度,MySQL 会默认为 int 字段分配最大的存储空间,也就是 4 个字节。因此,int(11) 和 int(4) 在存储空间上是完全相同的。
除了 int 类型之外,MySQL 还支持其他的整数类型,包括 tinyint、smallint、mediumint 和 bigint。这些整数类型也可以通过类似于 int(11) 的方式进行定义,并且也可以指定显示宽度。
猜你喜欢
- 2024-11-15 清理Ubuntu虚拟机磁盘空间(ubuntu虚拟机磁盘空间不足)
- 2024-11-15 在工作中 MySQL 的一些开发规范(干货)!
- 2024-11-15 MybatisPlus全套Api小解(一)(mybatis_plus)
- 2024-11-15 关于SSD存储原理的介绍(ssd硬盘存储原理)
- 2024-11-15 mysql简单的入门教程(mysql入门很简单)
- 2024-11-15 SqlUtils 使用(sql函数的使用方法及实例大全)
- 2024-11-15 《优化接口设计的思路》系列:接口的权限控制
- 2024-11-15 java 培训 MySQL 一次性插入多行数据的操作
- 2024-11-15 Python自学教程|3万字详解每个重要知识点(2)
- 2024-11-15 详解 MySQL int 类型的长度值问题
- 最近发表
-
- count(*)、count1(1)、count(主键)、count(字段) 哪个更快?
- 深入探索 Spring Boot3 中 MyBatis 的 association 标签用法
- js异步操作 Promise fetch API 带来的网络请求变革—仙盟创梦IDE
- HTTP状态码超详细说明_http 状态码有哪些
- 聊聊跨域的原理与解决方法_跨域解决方案及原理
- 告别懵圈!产品新人的接口文档轻松入门指南
- 在Javaweb中实现发送简单邮件_java web发布
- 优化必备基础:Oracle中常见的三种表连接方式
- Oracle常用工具使用 - AWR_oracle工具有哪些
- 搭载USB 3.1接口:msi 微星 发布 990FXA Gaming 游戏主板
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)