MySQL

MySQLでテーブル名を変更する方法

MySQL で別名のテーブルを作成する際、これまでは以下の運用をするケースが多くありました。

CREATE文を書き換えて実行
「CREATE TABLE … LIKE …」で作成
ダンプしてテーブル名を変更してリストア

元のテーブルを残す場合や、移行先のテーブルの状態によって対応も変わってくると思います。

今回は、元テーブルは不要でデータをそのまま別のテーブルで使いたい場面に遭遇したので、素直に SQL でテーブル名を変更する対応をしてみました。

ALTER TABLEでテーブル名を変更する

テーブルの操作と言えば「ALTER TABLE」です。

もちろん、テーブル名を変更する構文も用意されています。

ALTER TABLE [変更前テーブル名] RENAME [変更後テーブル名]

RENAME の後に TO を付けることもできますが、上記のように省略も可能です。

TO なしでもわかりやすい構文なので私は省略しています。

例えば、hoge_table テーブルを fuga_table に変更する場合は以下の通りです。