MySQLでテーブル名を変更する「RENAME TABLE」

MySQLのRENAME TABLE文を使うことで、テーブル名を変更することができます。

RENAME TABLE文の使い方

RENAME TABLE文の以下の通りです。

RENAME TABLE 変更するテーブル名 TO 変更後のテーブル名

TOの前に変更するテーブル名を指定し、TOの後に変更後のテーブル名を指定します。この操作を実行しているときは、他のセッションはどのテーブルにもアクセスできません。

テーブル名を変更する

たとえば、table1をtable2に名前変更する場合は以下のように指定します。

RENAME TABLE table1 TO table2;

複数テーブル名の変更

RENAME TABLE文では、複数テーブルを同時に変更することができます。たとえば、table1をtable2に、table2をtable3に、table3をtable4に変更したいときは以下のように指定します。

RENAME TABLE table3 TO table4, table2 TO table3, table1 TO table2;

RENAME TABLE文は左から順に処理されていくので、指定する順番には注意してください。

テーブルのデータをスワップする

REANAME TABLE文はテーブル名を変更する構文ですが、テーブルのデータをスワップするときにも使用できます。

table1とtable2の内容を入れ替える方法は以下の通りです。

RENAME TABLE table1 TO tmp_table,
             table2 TO table1,
             tmp_table TO table2;

異なるデータベースにテーブルを移動する

同じファイルシステム上であれば、RENNAME TABLE文を使って異なるデータベースにテーブルを移動することができます。

以下はdb1のtable1をdb2のtable1に移動する例です。

RENAME TABLE db1.table1 TO db2.table1;