MySQL 8.x从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

2.5.6 修改字段的排列位置

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

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

其中,“字段1”指要修改位置的字段;“数据类型”指“字段1”的数据类型;“FIRST”为可选参数,指将“字段1”修改为表的第一个字段;“AFTER 字段2”指将“字段1”插入到“字段2”后面。

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

【例2.25】将数据表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.26】将数据表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字段之后。