首先,請考慮是否的確需要更改表中的列順序。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;
如果決定更改表列的順序,可執行下述操作:
用具有新順序的列創建新表。
執行該語句:
MySQL> INSERT INTO new_table
-> SELECT columns-in-new-order FROM old_table;
撤銷或重命名old_table。
將新表重命名為原始名稱:
MySQL> ALTER TABLE new_table RENAME old_table;
SELECT *十分適合於測試查詢。但是,在應用程序中,永遠不要依賴SELECT *的使用,不要依賴根據其位置檢索列。如果添加、移動或刪除了列,所返回的列的順序和位置不會保持相同。對表結構的簡單更改也會導致應用程序失敗。