MySQL数据库test_db中创建一张表test_db:
mysql> use test_db
Database changed
mysql> desc test_db;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| c2 | varchar(255) | YES | | NULL | |
| c1 | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql>
将c2放在c1列前面:
mysql> alter table test_db modify c2 varchar(255) after c1;
Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test_db;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| c1 | varchar(255) | YES | | NULL | |
| c2 | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql>
将c1放最前面:
mysql> alter table test_db modify c1 varchar(255) after c2;
Query OK, 0 rows affected (0.06 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test_db;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| c2 | varchar(255) | YES | | NULL | |
| c1 | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> alter table test_db modify c1 varchar(255) first;
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc test_db;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| c1 | varchar(255) | YES | | NULL | |
| c2 | varchar(255) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql>
将c1放最后面?
暂时没有思路,MySQL中last()用不了,可以转化为after。
参考:
mysql中如何改变字段或者列的顺序 https://blog.csdn.net/zhezhebie/article/details/54912411