首先,请考虑是否的确需要更改表中的列顺序。SQL的核心要点是从数据存储格式获取应用。总应指定检索数据的顺序。
在下面的第1条语句中,以col_name1、col_name2、col_name3顺序返回列;
在第2条语句中,
以col_name1、col_name3、col_name2顺序返回列:
MySQL> SELECT col_name1, col_name2, col_name3 FROM tbl_name;MySQL> SELECT col_name1, col_name3, col_name2 FROM tbl_name;
如果决定更改表列的顺序,可执行下述操作:
1. 用具有新顺序的列创建新表。
2. 执行该语句:mysql> INSERT INTO new_table -> SELECT columns-in-new-order FROM old_table;
3. 撤销或重命名old_table。
4. 将新表重命名为原始名称:mysql> ALTER TABLE new_table RENAME old_table;SELECT *十分适合于测试查询。
但是,在应用程序中,永远不要依赖SELECT *的使用,不要依赖根据其位置检索列。
如果添加、移动或删除了列,所返回的列的顺序和位置不会保持相同。
对表结构的简单更改也会导致应用程序失败。