推荐答案
在 MySQL 中,INT
类型有以下几种不同的长度:
TINYINT
:1 字节,范围为 -128 到 127(有符号)或 0 到 255(无符号)。SMALLINT
:2 字节,范围为 -32768 到 32767(有符号)或 0 到 65535(无符号)。MEDIUMINT
:3 字节,范围为 -8388608 到 8388607(有符号)或 0 到 16777215(无符号)。INT
或INTEGER
:4 字节,范围为 -2147483648 到 2147483647(有符号)或 0 到 4294967295(无符号)。BIGINT
:8 字节,范围为 -9223372036854775808 到 9223372036854775807(有符号)或 0 到 18446744073709551615(无符号)。
本题详细解读
INT
类型的长度和范围
INT
类型是 MySQL 中最常用的整数类型之一。不同的 INT
类型在存储空间和数值范围上有所不同,具体如下:
TINYINT:占用 1 字节,适用于存储非常小的整数。有符号时,范围为 -128 到 127;无符号时,范围为 0 到 255。
SMALLINT:占用 2 字节,适用于存储较小的整数。有符号时,范围为 -32768 到 32767;无符号时,范围为 0 到 65535。
MEDIUMINT:占用 3 字节,适用于存储中等大小的整数。有符号时,范围为 -8388608 到 8388607;无符号时,范围为 0 到 16777215。
INT 或 INTEGER:占用 4 字节,是 MySQL 中最常用的整数类型。有符号时,范围为 -2147483648 到 2147483647;无符号时,范围为 0 到 4294967295。
BIGINT:占用 8 字节,适用于存储非常大的整数。有符号时,范围为 -9223372036854775808 到 9223372036854775807;无符号时,范围为 0 到 18446744073709551615。
选择适当的 INT
类型
在选择 INT
类型时,应根据实际需求选择合适的类型。如果存储的数值范围较小,可以选择 TINYINT
或 SMALLINT
,这样可以节省存储空间。如果存储的数值范围较大,则需要选择 INT
或 BIGINT
。
无符号与有符号
INT
类型可以指定为无符号(UNSIGNED
),这意味着该列只能存储非负整数。无符号类型的范围是有符号类型的两倍,但只能存储正数。
示例
CREATE TABLE example ( id TINYINT UNSIGNED, age SMALLINT, salary INT, population BIGINT );
在这个示例中,id
列使用 TINYINT UNSIGNED
,表示它只能存储 0 到 255 之间的整数。age
列使用 SMALLINT
,可以存储 -32768 到 32767 之间的整数。salary
列使用 INT
,可以存储 -2147483648 到 2147483647 之间的整数。population
列使用 BIGINT
,可以存储非常大的整数。