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

mysqlmysqli database

要在现有表的特定位置添加列,请使用 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 字段后添加另一列。查询如下。

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)

相关文章