在 MySQL 中重新排序列的简单方法?
mysqlmysqli database
要在 MySQL 中重新排序列,请使用 ALTER TABLE MODIFY COLUMN。语法如下 -
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName data type after yourColumnName.
为了理解上述语法,让我们首先创建一个表。创建表的查询如下。
mysql> create table reOrderColumn -> ( -> ProductId int, -> DeliveryDate datetime, -> ProductName varchar(100) -> ); Query OK, 0 rows affected (0.76 sec)
现在检查表的描述。查询如下。
mysql> desc reOrderColumn;
以下是输出。
+--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | ProductId | int(11) | YES | | NULL | | | DeliveryDate | datetime | YES | | NULL | | | ProductName | varchar(100) | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 3 rows in set (0.10 sec)
现在使用 ALTER MODIFY 命令重新排序该列。我将在 ProductName 列之后重新排序 DeliveryDate 列。查询如下。
mysql> alter table reOrderColumn modify column DeliveryDate datetime after ProductName; Query OK, 0 rows affected (1.61 sec) Records: 0 Duplicates: 0 Warnings: 0
现在让我们检查一下列是否已重新排序。查询如下。
mysql> desc reOrderColumn;
以下是显示列已重新排序的输出。
+--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | ProductId | int(11) | YES | | NULL | | | ProductName | varchar(100) | YES | | NULL | | | DeliveryDate | datetime | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)