是否不可能在 MySQL 中特别在另一列之前添加一列?


不,你可以使用 ALTER 很方便地在另一列之前添加一列。

注意 − 若要将列添加到表行内的特定位置,请使用 FIRST 或 AFTER col_name 让我们先创建一个表 −

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20),
   -> CountryName varchar(100)
   -> );
Query OK, 0 rows affected (0.67 sec)

让我们查看表中的所有列名 −

mysql> show columns from DemoTable;

输出

这将产生以下输出 −

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| Name        | varchar(20)  | YES  |     | NULL    |       |
| CountryName | varchar(100) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

以下是 MySQL 中在另一列之前添加一列的查询。

mysql> alter table DemoTable add Age int AFTER Name;
Query OK, 0 rows affected (1.50 sec)
Records: 0 Duplicates: 0 Warnings: 0

让我们再次查看上述表中的所有列名 −

mysql> show columns from DemoTable;

输出

这将产生以下输出。我们已成功添加了一个列名 −

+-------------+--------------+------+-----+---------+-------+
| Field       | Type         | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id          | int(11)      | YES  |     | NULL    |       |
| Name        | varchar(20)  | YES  |     | NULL    |       |
| Age         | int(11)      | YES  |     | NULL    |       |
| CountryName | varchar(100) | YES  |     | NULL    |       |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

更新于: 2020 年 6 月 30 日

399 次浏览

开启您的 职业生涯

完成教程并获得认证

开始学习
广告