要在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) -> );
现在检查表的描述。查询如下。
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; 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)