MySQL TINYINT 数据类型介绍

MySQL TINYINT 是一种数据类型,用于存储小整数。 TINYINT 类型可以存储范围在-128 到 127 之间的整数,或者无符号的 0 到 255 之间的整数。它通常用于存储布尔值(0 或 1)或其他小整数值。

语法

以下是 MySQL TINYINT 数据类型的语法:

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

其中,M 表示字段宽度,UNSIGNED 表示无符号值,ZEROFILL 表示在值前面填充 0 以达到字段宽度。

使用场景

TINYINT 数据类型通常用于存储布尔值(0 或 1)或其他小整数值,例如存储一个用户是否订阅电子邮件通讯的状态,或者记录一个项目的状态。由于它只占用 1 个字节的存储空间,因此可以在大型数据库中节省存储空间。

示例

以下是两个示例,展示了如何在 MySQL 中使用 TINYINT 数据类型。

示例 1

创建一个名为 “users” 的表,其中包含一个名为 “is_subscribed” 的 TINYINT 字段,用于存储用户是否订阅电子邮件通讯的状态。

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  is_subscribed TINYINT(1)
);

INSERT INTO users (id, name, is_subscribed) VALUES
  (1, 'Alice', 1),
  (2, 'Bob', 0),
  (3, 'Charlie', 1),
  (4, 'Dave', 0);

以上 SQL 语句将创建一个名为 “users” 的表,并将四个用户添加到表中。 “is_subscribed” 列将存储值为 0 或 1 的 TINYINT 数据类型。

示例 2

创建一个名为 “tasks” 的表,其中包含一个名为 “status” 的 TINYINT 字段,用于存储任务的状态。

CREATE TABLE tasks (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  status TINYINT(1) UNSIGNED
);

INSERT INTO tasks (id, name, status) VALUES
  (1, 'Task 1', 0),
  (2, 'Task 2', 1),
  (3, 'Task 3', 2),
  (4, 'Task 4', 1);

以上 SQL 语句将创建一个名为 “tasks” 的表,并将四个任务添加到表中。 “status” 列将存储无符号整数值为 0、1 或 2 的 TINYINT 数据类型。

结论

TINYINT 数据类型是一种用于存储小整数值的数据类型,它通常用于存储布尔值或其他小整数值。由于它只占用 1 个字节的存储空间,因此可以在大型数据库中节省存储空间。如果需要存储更大的整数,请考虑使用其他整数类型,如 SMALLINT 或 INT。但是,如果您的数据只需要一个很小的整数范围, TINYINT 可能是您的最佳选择。

总之, TINYINT 数据类型在 MySQL 中具有广泛的应用场景,它可以有效地存储小整数值,并节省存储空间。无论是存储布尔值、状态标识符还是其他小整数值,TINYINT 都是一种可靠的数据类型选择。