MySQL 如何在现有的MySQL表中添加带有默认值的列?

MySQL 如何在现有的MySQL表中添加带有默认值的列?

在我们平常的开发工作中,有时候我们需要向已有的 MySQL 数据表中添加一列,而且这一列需要设置默认值,下面就会详细介绍如何在现有的 MySQL 表中添加带有默认值的列。

阅读更多:MySQL 教程

1. ALTER TABLE 语句介绍

ALTER TABLE 语句用于修改现有的数据表结构,包括添加、删除、修改列和索引等等。

ALTER TABLE 语句的语法如下:

ALTER TABLE table_name action;

其中 table_name 为需要修改的表名称,action 为需要进行的操作,可以是 ADD、DROP、MODIFY、CHANGE 等等。

2. ALTER TABLE ADD COLUMN 添加列

我们可以使用 ALTER TABLE ADD COLUMN 语句来向 MySQL 数据表中添加新的列。

添加列的语法如下:

ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT default_value;

其中,table_name 为需要添加列的数据表名称;column_name 为需要添加的列名;datatype 为需要添加列的数据类型;default_value 则为需要设置列的默认值。

下面是一个具体的示例:我们向 student 表中添加一个 name_en 列,该列的数据类型为 varchar,限制长度为 100,且默认值为 ‘No English Name’。

ALTER TABLE student ADD COLUMN name_en varchar(100) DEFAULT 'No English Name';

3. ALTER TABLE MODIFY COLUMN 修改列

如果我们已经在 MySQL 数据表中添加了一个列,但是后来发现该列的默认值不对或者数据类型不适合当前业务需求,那么就需要使用 ALTER TABLE MODIFY COLUMN 语句来修改该列的信息。

修改列的语法如下:

ALTER TABLE table_name MODIFY COLUMN column_name datatype DEFAULT default_value;

其中,table_name 为需要修改列的数据表名称;column_name 为需要修改的列名;datatype 为需要修改列的数据类型;default_value 则为需要设置列的默认值。

下面是一个具体的示例:我们已经在 student 表中添加了 name_en 列,但是我们希望将该列的数据类型改为 TEXT,并设置默认值为 ‘No English’。

ALTER TABLE student MODIFY COLUMN name_en TEXT DEFAULT 'No English';

4. 练习

假设我们的 MySQL 数据表为:

id name age
1 Alice 20
2 Bob 18

请你向该数据表中添加一列 gender,数据类型为 ENUM,枚举值为 ‘M’ 和 ‘F’,默认值为 ‘F’。

请根据上面的介绍,自行编写 SQL 语句进行操作。

结论

通过本篇文章的学习,我们了解到了如何在 MySQL 数据表中添加带有默认值的列。我们可以使用 ALTER TABLE ADD COLUMN 和 ALTER TABLE MODIFY COLUMN 语句来实现向已有的表中添加、修改列的信息。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程