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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。