如何在 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)