在MySQL中,TINYINT
是一个小的整数数据类型,可以用来存储一个很小的数值范围的整数。它使用1个字节的存储空间(8位),下面是 TINYINT
类型的特性和使用范围:
-
无符号
TINYINT
:- 范围:
0
到255
。 - 在声明字段时可以使用关键字
UNSIGNED
来指定无符号TINYINT
。
- 范围:
-
有符号
TINYINT
:- 默认情况下,
TINYINT
是有符号的。 - 范围:
-128
到127
。
- 默认情况下,
TINYINT
的一个常见用例是作为一个标志字段,它可以用来表示两个状态(如 true/false, yes/no 等),此时通常会用 TINYINT(1)
来表示布尔值。
例如,创建一个包含TINYINT
字段的表:
CREATE TABLE example_table (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
active TINYINT(1) NOT NULL DEFAULT 1, -- 作为布尔值使用,1=true, 0=false
score TINYINT UNSIGNED NOT NULL DEFAULT 100 -- 小数值范围的字段
);
在上述例子中,“active” 字段用 TINYINT(1)
表示,它常被识别为布尔字段。而“score”字段则是用无符号 TINYINT
类型来存储从 0
到 255
范围内的数值。
TINYINT(1)
里的 (1)
并不是限制数值的大小或者存储能力,它仅仅是建议的显示宽度,这跟整数类型的其他长度一样,在大多数情况下是被忽略的,除非字段被指定为 ZEROFILL
。如果指定了 ZEROFILL
标志,MySQL 将填充输出的值以达到声明的列宽。