ENUM 在 MySQL 中是一种枚举数据类型,用于限制存储的值范围。它通过存储预定义值列表来工作,确保数据完整性、空间效率和性能。创建带有 ENUM 列的表需要使用 CREATE TABLE 语句,然后可以使用预定义值插入和更新数据。ENUM 列可用于查询和比较,以确保数据符合所需范围。

ENUM 在 MySQL 中的含义
ENUM 是 MySQL 中的数据类型,用于存储有限数量的预定义值。它类似于字符串数据类型,但它限制了存储的值范围。
ENUM 的工作原理
ENUM 列定义一个预定义值列表,当插入数据时,只能从这些值中进行选择。这些值以逗号分隔的形式存储在数据库中。
ENUM 的优点
- 数据完整性:ENUM 确保数据始终符合预定义值列表,防止输入无效数据。
- 空间效率:ENUM 存储的值实际上是索引值,而不是实际字符串,因此需要更少的存储空间。
- 性能:由于值是索引的,因此在按 ENUM 列进行查询时可以提高性能。
创建 ENUM 列
使用 CREATE TABLE 语句创建带有 ENUM 列的表:
<code class="sql">CREATE TABLE my_table (
id INT NOT NULL AUTO_INCREMENT,
status ENUM('active', 'inactive') NOT NULL,
PRIMARY KEY (id)
);</code>在本例中,status 列将只能存储值 'active' 或 'inactive'。
插入和更新 ENUM 值
向 ENUM 列插入数据时,必须使用预定义值之一:
<code class="sql">INSERT INTO my_table (status) VALUES ('active');
UPDATE my_table SET status = 'inactive' WHERE id = 1;</code>使用 ENUM 列
可以在查询和比较中使用 ENUM 列,如下所示:
<code class="sql">SELECT * FROM my_table WHERE status = 'active';
IF (status = 'active') {
# 执行操作
}</code>










