mysql int(10) 多大

mysql int(10) 多大

mysql int(10) 多大

MySQL 数据库中,int 是一种整数数据类型,用于存储整数值。在定义 int 类型字段时,可以指定字段的宽度,即 int(10) 这种写法中的括号中的数字。那么,int(10) 中的 10 到底代表什么意思呢?

int 数据类型

首先,我们来了解一下 int 数据类型在 MySQL 中的定义。int 是一种整数数据类型,有以下几种类型:

  • 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

在 MySQL 中,int 默认是有符号整数,即 int 相当于 int(11),最多可以存储 2147483647(2^31 – 1)。如果希望使用无符号整数,可以在 int 后加上 UNSIGNED,例如 int(10) UNSIGNED。

int(10) 中的宽度

int(10) 中的括号中的数字 10,并不是表示 int 类型字段能够存储的数字位数,而是用于显示的宽度(display width)。在 MySQL 中,int(n) 中的 n 只是用于 ZEROFILL 和显示宽度,并不会限制字段的存储范围。例如,int(10) 和 int(20) 实际上存储的范围都是 -2147483648 到 2147483647,唯一的区别是在显示上的宽度。

ZEROFILL

ZEROFILL 是一个属性,用于在显示宽度不足 n 位时,在数字前面添加 0 补齐。例如,如果定义字段为 int(10) ZEROFILL,存储的数字是 123,那么在显示时会显示为 0000000123。

以下是一个简单的示例代码,演示了 int(10) ZEROFILL 的使用:

CREATE TABLE test_table (
    id INT(10) ZEROFILL
);

INSERT INTO test_table (id) VALUES (123);

SELECT * FROM test_table;

运行上述代码后,查询到的结果将会是:

id
0000000123

总结

  • 在 MySQL 数据库中,int 是一种整数数据类型,用于存储整数值。
  • int(n) 中的 n 不会限制字段的存储范围,而是用于显示宽度。
  • ZEROFILL 属性可以在显示宽度不足 n 位时,补齐 0。

通过本文的介绍,你应该对 MySQL 中 int(10) 的含义有了更清晰的了解。在实际使用中,需要根据数据的存储范围和显示需求来选择合适的 int 类型和显示宽度。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程