首页 > 编程笔记

MySQL修改字段的排列顺序

对于一个 MySQL 数据表来说,在创建的时候,字段在表中的排列顺序就已经确定了,但表的结构也是可以改变的,可以通过 ALTER TABLE 来改变表中字段的相对位置。

语法格式如下:

ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;

细节说明:

1) 修改字段为表的第一个字段

【示例1】将数据表 tb_deptl 中的 column1 字段修改为表的第一个字段,SQL 语句如下:
ALTER TABLE tb_dept1 MODIFY column1 VARCHAR(12) FIRST;
使用 DESC 查看表 tb_dept1,发现字段 column1 已经被移至表的第一列,结果如下:
mysql> DESC tb_dept1;
+-----------+-------------+-------+-----+---------+-------+
| Field     | Type        | Null  | Key | Default | Extra |
+-----------+-------------+-------+-----+---------+-------+
| column1   | varchar(12) | YES   |     | NULL    |       |
| id        | int         | NO    | PRI | NULL    |       |
| name      | varchar(30) | YES   |     | NULL    |       |
| column3   | int         | YES   |     | NULL    |       |
| location  | varchar(60) | YES   |     | NULL    |       |
| managerId | int         | YES   |     | NULL    |       |
+-----------+-------------+-------+-----+---------+-------+

2) 修改字段到表的指定列之后

【示例2】将数据表 tb_dept1 中的 column1 字段插入到 location 字段后面,SQL 语句如下:
ALTER TABLE tb_dept1 MODIFY column1 VARCHAR(12) AFTER location;
使用 DESC 查看表 tb_dept1,结果如下:
mysql> DESC tb_dept1;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id        | int         | NO   | PRI | NULL    |       |
| name      | varchar(30) | YES  |     | NULL    |       |
| column3   | int         | YES  |     | NULL    |       |
| location  | varchar(60) | YES  |     | NULL    |       |
| column1   | varchar(12) | YES  |     | NULL    |       |
| managerId | int         | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
可以看到,tb_dept1 表中的字段 column1 已经被移至 location 字段之后。

推荐阅读