MySQL修改字段的排列顺序
对于一个 MySQL 数据表来说,在创建的时候,字段在表中的排列顺序就已经确定了,但表的结构也是可以改变的,可以通过 ALTER TABLE 来改变表中字段的相对位置。
语法格式如下:
语法格式如下:
ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>;
细节说明:- “字段1”指要修改位置的字段;
- “数据类型”指“字段1”的数据类型;
- “FIRST”为可选参数,指将“字段1”修改为表的第一个字段;
- “AFTER 字段2”指将“字段1”插入到“字段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 字段之后。