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

相关文章