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

2023-12-14 05:18:35

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通常会忽略显示宽度。

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

文章来源:https://blog.csdn.net/weixin_53742691/article/details/134854846
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。