MYSQL ENUM 设置默认值
在MySQL数据库中,ENUM是一种用于定义枚举类型的数据类型。枚举类型允许在一组预定义的值中选择一个值。ENUM类型的列只能存储列表中的一个值,或者如果没有匹配的值,则存储一个特殊的空值。
通过设置ENUM列的默认值,我们可以在插入新记录时为该列提供一个默认值。这篇文章将向您展示如何在MySQL中设置ENUM列的默认值,并提供一些代码示例。
创建表
首先,我们需要创建一个包含ENUM列的表。假设我们要创建一个名为users
的表,其中包含一个status
列,该列的类型为ENUM,并有三个可能的值:active
,inactive
和pending
。
以下是创建users
表的SQL语句:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
status ENUM('active', 'inactive', 'pending') DEFAULT 'active'
);
在上面的语句中,我们使用ENUM('active', 'inactive', 'pending')
定义了status
列的类型。我们还使用DEFAULT 'active'
为status
列设置了默认值为active
。
插入记录
现在,我们可以向users
表插入一些记录并看到默认值的效果。以下是插入记录的示例:
INSERT INTO users (name) VALUES ('John');
INSERT INTO users (name, status) VALUES ('Jane', 'inactive');
INSERT INTO users (name, status) VALUES ('Bob', 'pending');
在上面的示例中,我们没有为status
列提供值。因此,当插入记录时,status
列将采用默认值active
。
检索记录
我们可以使用SELECT语句检索users
表中的记录,并查看status
列的值。以下是示例查询:
SELECT * FROM users;
此查询将返回users
表中的所有记录,包括每个记录的id
,name
和status
列的值。
修改默认值
如果需要修改ENUM列的默认值,我们可以使用ALTER TABLE语句。以下是修改users
表的status
列默认值的示例:
ALTER TABLE users ALTER COLUMN status SET DEFAULT 'inactive';
在上面的示例中,我们使用ALTER COLUMN
子句将status
列的默认值修改为inactive
。
总结
在本文中,我们学习了如何在MySQL中设置ENUM列的默认值。我们创建了一个包含ENUM列的表,并使用默认值来插入记录。我们还学习了如何修改ENUM列的默认值。
ENUM列的默认值非常有用,因为它允许我们在插入记录时为列提供一个默认值。这对于在不提供具体值时确保数据库表的数据完整性非常有帮助。
希望本文能够帮助您更好地理解和使用MySQL中ENUM列的默认值。
附录:代码示例
以下是本文中使用的代码示例:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
status ENUM('active', 'inactive', 'pending') DEFAULT 'active'
);
INSERT INTO users (name) VALUES ('John');
INSERT INTO users (name, status) VALUES ('Jane', 'inactive');
INSERT INTO users (name, status) VALUES ('Bob', 'pending');
SELECT * FROM users;
ALTER TABLE users ALTER COLUMN status SET DEFAULT 'inactive';
附录:饼状图
以下是本文提到的饼状图,使用Markdown语法和Mermaid语法的pie标识:
pie
title ENUM列的值分布
"active": 60
"inactive": 30
"pending": 10
以上代码将生成一个饼状图,显示ENUM列的值分布,其中“active”占60%,“inactive”占30%,“pending”占10%。
希望这个饼状图能够更直观地展示ENUM列值的分布情况。
附录:旅行图
以下是本文提到的旅行图,使用Markdown语法和Mermaid语法的journey标识:
journey
title 用户注册过程
section 注册