如何在现有的 MySQL 表中向特定位置添加列?


要在现有表中的特定位置添加列,请使用 after 命令。语法如下 −

ALTER TABLE yourTableName
ADD COLUMN yourColumnName data type AFTER yourExistingColumnName;

为了理解上述语法,让我们首先创建一个表。创建表的查询如下。

mysql> create table changeColumnPosition
-> (
-> Id_Position1 int,
-> Name_Position2 varchar(100),
-> Address_Position4 varchar(200)
-> );
Query OK, 0 rows affected (0.53 sec)

现在,你可以使用 desc 命令查看现有表的描述。语法如下 −

desc yourTableName;

以下是查看描述的查询。

mysql> desc changeColumnPosition;

以下是输出。

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| Id_Position1      | int(11)      | YES  |     | NULL    |       |
| Name_Position2    | varchar(100) | YES  |     | NULL    |       |
| Address_Position4 | varchar(200) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

我有三列,我想在 Name_Position2 Field 之后再添加一列。查询如下。

mysql> alter table changeColumnPosition
-> add Age_Position3 int after Name_Position2;
Query OK, 0 rows affected (1.34 sec)
Records: 0 Duplicates: 0 Warnings: 0

我们已在 Name_Position2 之后成功添加了列 Age_Position3。现在再次查看现有表以了解我们对以上内容所做的更改。

mysql> desc changeColumnPosition;

以下是输出。

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| Id_Position1      | int(11)      | YES  |     | NULL    |       |
| Name_Position2    | varchar(100) | YES  |     | NULL    |       |
| Age_Position3     | int(11)      | YES  |     | NULL    |       |
| Address_Position4 | varchar(200) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

更新于:2020 年 6 月 25 日

8K+ 次浏览

启动您的 职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.