当前位置: 首页 > article >正文

MySQl int(1)、int(20) 的区别到底在哪里

MySQl int(1)、int(20) 的区别到底在哪里

在这里插入图片描述常思一二,便得自然…

int(1)数据类型介绍

在MySQL中,INT(1) 是一种定义整数类型的数据字段,其中的数字表示显示宽度而不是存储范围。具体说,INT(1) 中的数字 1 表示显示宽度,但并不影响存储范围或值的合法性。这可能会让人感到困惑,因为 INT 数据类型本身已经有一个特定的存储范围,而这里的 (1) 实际上并没有改变这个范围。

以下是对 INT(1) 的详细介绍:

  1. 数据类型: INT 是MySQL中的整数数据类型,表示整数值。它占据4个字节,可以存储从 -2^31 到 2^31-1 的整数(大约 -2.15 * 10^9 到 2.15 * 10^9)。

  2. 显示宽度 (Display Width): (1) 中的数字是显示宽度,用于指定显示的字符个数。对于整数类型,这通常用于控制显示的位数。在 INT(1) 中,这表示数字将以固定宽度显示,不足指定宽度的将使用零进行填充。但请注意,这仅是用于显示的,不影响实际存储或数值范围。

    例如,如果有一个 INT(1) 字段,存储了值 7,那么在检索时可能显示为 “7”,而不是 “007”。

  3. 对比: 使用显示宽度可能对排序和比较产生影响,但对于整数类型,它实际上并不改变值的范围或存储方式。在排序时,MySQL通常会忽略显示宽度。

总的来说,INT(1) 中的数字 1 表示显示宽度,但不改变存储范围。如果你希望限制整数的范围,应该使用适当范围的整数数据类型,而不是通过显示宽度来实现。

int(20)数据类型介绍

在MySQL中,INT(20) 是定义整数类型的数据字段,其中的数字 20 表示显示宽度(Display Width),但并不影响存储范围。与先前的例子 INT(1) 类似,INT(20) 中的数字并不改变整数的存储范围,而是用于控制显示的位数。

以下是对 INT(20) 的详细介绍:

  1. 数据类型: INT 是MySQL中的整数数据类型,占据4个字节,可以存储从 -2^31 到 2^31-1 的整数(大约 -2.15 * 10^9 到 2.15 * 10^9)。

  2. 显示宽度 (Display Width): (20) 中的数字是显示宽度,用于指定显示的字符个数。对于整数类型,这通常用于控制显示的位数。在 INT(20) 中,这表示数字将以固定宽度显示,不足指定宽度的将使用零进行填充。但请注意,这仅是用于显示的,不影响实际存储或数值范围。

    例如,如果有一个 INT(20) 字段,存储了值 123,那么在检索时可能显示为 “00000000000000000123”。

  3. 对比: 使用显示宽度可能对排序和比较产生影响,但对于整数类型,它实际上并不改变值的范围或存储方式。在排序时,MySQL通常会忽略显示宽度。

总的来说,INT(20) 中的数字 20 表示显示宽度,但不改变存储范围。如果你希望限制整数的范围,应该使用适当范围的整数数据类型,而不是通过显示宽度来实现。这样的显示宽度通常用于在结果集中对齐数字,而不是改变其实际存储。

总结概括

当在MySQL中定义整数字段时,使用 INT(1)INT(20) 中的数字部分(1和20)都是用于指定显示宽度,但不会改变实际存储范围。以下是对这两者的总结:

INT(1)
  1. 数据类型: INT 表示整数数据类型,占据4个字节,可以存储从 -2^31 到 2^31-1 的整数。

  2. 显示宽度 (Display Width): (1) 中的数字是显示宽度,用于指定显示的字符个数。不足指定宽度的将使用零进行填充。

  3. 影响:

    • 不改变存储范围。
    • 仅影响在结果集中的显示方式。
    • 可能在某些情况下用于对齐数字,但对于整数类型,通常没有实际影响。
INT(20)
  1. 数据类型: INT 表示整数数据类型,占据4个字节,可以存储从 -2^31 到 2^31-1 的整数。

  2. 显示宽度 (Display Width): (20) 中的数字是显示宽度,用于指定显示的字符个数。不足指定宽度的将使用零进行填充。

  3. 影响:

    • 不改变存储范围。
    • 仅影响在结果集中的显示方式。
    • 可能在某些情况下用于对齐数字,但对于整数类型,通常没有实际影响。
共同点:
  1. 存储范围: 无论显示宽度如何指定,INT 数据类型的存储范围都是相同的。

  2. 排序: 在排序时,MySQL通常会忽略显示宽度。

总体而言,这两者的主要作用是控制显示宽度,而不是改变整数的实际存储范围。选择使用显示宽度通常是为了在结果集中对齐数字,而不是为了更改底层数据类型的行为。


http://www.kler.cn/news/161217.html

相关文章:

  • JVM虚拟机(已整理,已废弃)
  • Spring Cache快速入门教程及案例
  • Java程序员,你掌握了多线程吗?【文末送书】
  • js取出对象数组某个属性拼接成字符串或者取出某些属性组成新的数组
  • 【C/PTA】结构体进阶练习
  • 将图像增广应用于Mnist数据集
  • scp 指令详细介绍
  • activemq启动成功但web管理页面却无法访问
  • 多人聊天Java
  • 【前端架构】清洁前端架构
  • ubuntu22.04设置国内源
  • JAVA 企业面试题
  • inBuilder低代码平台新特性推荐-第十五期
  • Shopify 开源 WebAssembly 工具链 Ruvy
  • C++STL的string类(一)
  • mysql的几种索引
  • 在数字化转型大时代下,企业进行知识管理的重要性
  • 腾讯云轻量应用服务器怎么安装宝塔Linux面板?
  • js vue form表单层级过深,层级太深了,form检测不到form的变化
  • 关于FBPINN的讨论
  • 南京大学考研机试题DP
  • 【文末送书】Python OpenCV从入门到精通
  • Abaqus基础教程--胶合失效仿真
  • Leetcode—1038.从二叉搜索树到更大和树【中等】
  • MySQL 数据库如何实现 XA 规范?
  • 【重磅来袭!!!工程师必备初始化建工程软件】
  • Java常见算法和lambda
  • 一个小问题
  • 人工智能企业引入S-SDLC,推动安全能力大跃升,保障AI技术体系深化落地
  • 每日OJ题_算法_双指针③_力扣202. 快乐数