MySQL 整数类型
MySQL 整数类型用于存储不带小数的数字,不同类型占用不同存储空间和取值范围。
整数类型对照表
| 类型 | 字节 | 有符号范围 | 无符号范围 |
|---|---|---|---|
| TINYINT | 1 | -128 ~ 127 | 0 ~ 255 |
| SMALLINT | 2 | -32768 ~ 32767 | 0 ~ 65535 |
| MEDIUMINT | 3 | -8388608 ~ 8388607 | 0 ~ 16777215 |
| INT | 4 | -2147483648 ~ 2147483647 | 0 ~ 4294967295 |
| BIGINT | 8 | 非常大 | 非常大 |
基本语法
SQL
-- 创建带整数字段的表
CREATE TABLE users (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
age TINYINT UNSIGNED,
score SMALLINT
);
-- 插入数据
INSERT INTO users (age, score) VALUES (25, 100);
-- 指定显示宽度(不影响存储范围)
CREATE TABLE items (
code INT(5) ZEROFILL -- 不足5位用0填充
);
UNSIGNED 属性
SQL
-- 无符号整数(只存储正数,范围翻倍)
CREATE TABLE products (
id INT UNSIGNED,
stock SMALLINT UNSIGNED
);
UNSIGNED 使取值范围扩大一倍,但只能存储非负数。
要点总结
- 根据数据范围选择最小够用的整数类型
- UNSIGNED 可扩大正数范围一倍
- INT(M) 中的 M 是显示宽度,不影响存储范围
- 自增主键常用 INT 或 BIGINT
📝 发现内容有误?点击此处直接编辑