MySQLのRENAME TABLE文を使うことで、テーブル名を変更することができます。
RENAME TABLE文の使い方
RENAME TABLE文の以下の通りです。
1 |
RENAME TABLE 変更するテーブル名 TO 変更後のテーブル名 |
TOの前に変更するテーブル名を指定し、TOの後に変更後のテーブル名を指定します。この操作を実行しているときは、他のセッションはどのテーブルにもアクセスできません。
テーブル名を変更する
たとえば、table1をtable2に名前変更する場合は以下のように指定します。
1 |
RENAME TABLE table1 TO table2; |
複数テーブル名の変更
RENAME TABLE文では、複数テーブルを同時に変更することができます。たとえば、table1をtable2に、table2をtable3に、table3をtable4に変更したいときは以下のように指定します。
1 |
RENAME TABLE table3 TO table4, table2 TO table3, table1 TO table2; |
RENAME TABLE文は左から順に処理されていくので、指定する順番には注意してください。
テーブルのデータをスワップする
REANAME TABLE文はテーブル名を変更する構文ですが、テーブルのデータをスワップするときにも使用できます。
table1とtable2の内容を入れ替える方法は以下の通りです。
1 2 3 |
RENAME TABLE table1 TO tmp_table, table2 TO table1, tmp_table TO table2; |
異なるデータベースにテーブルを移動する
同じファイルシステム上であれば、RENNAME TABLE文を使って異なるデータベースにテーブルを移動することができます。
以下はdb1のtable1をdb2のtable1に移動する例です。
1 |
RENAME TABLE db1.table1 TO db2.table1; |