MySQL支持SQL标准整数类型 INTEGER(或INT)和 SMALLINT。作为一个可扩展标准,MySQL也支持整数类型 TINYINT,MEDIUMINT和 BIGINT。下表显示了每种整数类型所需的存储空间和范围。
表11.1 MySQL支持的整数类型的必需存储和范围
类型 | 储存空间(位元组) | 最低签名 | 最小值无符号 (Unsigned) | 签名的最大值 | 最大值无符号 (Unsigned) |
TINYINT | 1个 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -2^63 | 0 | 2^63-1 | 2^64-1 |
-- 创建有符号整数类型表:
CREATE TABLE test01_signed (a TINYINT, b SMALLINT, c MEDIUMINT, d INT, e BIGINT);
-- 查看表结构:
-- 插入整数类型有符号最大值:
INSERT INTO test01_signed (a, b, c, d, e)
VALUES (-128,-32768,-8388608,-2147483648,-9223372036854775808),
(127, 32767, 8388607, 2147483647, 9223372036854775807);
-- 超出范围报错:
INSERT INTO test01_signed(a ) VALUES (-129),(128);
-- 筛选后进行删除:
DELETE FROM test01_signed WHERE a = -128;
-- 删除所有行的数据:
DELETE FROM test01_signed;