2018-04-08 11:57

MySQL で別名のテーブルを作成する際、これまでは以下の運用をするケースが多くありました。
- CREATE文を書き換えて実行
- 「CREATE TABLE ... LIKE ...」で作成
- ダンプしてテーブル名を変更してリストア
元のテーブルを残す場合や、移行先のテーブルの状態によって対応も変わってくると思います。
今回は、元テーブルは不要でデータをそのまま別のテーブルで使いたい場面に遭遇したので、素直に SQL でテーブル名を変更する対応をしてみました。
2018-04-08 11:57
MySQL で別名のテーブルを作成する際、これまでは以下の運用をするケースが多くありました。
元のテーブルを残す場合や、移行先のテーブルの状態によって対応も変わってくると思います。
今回は、元テーブルは不要でデータをそのまま別のテーブルで使いたい場面に遭遇したので、素直に SQL でテーブル名を変更する対応をしてみました。
テーブルの操作と言えば「ALTER TABLE」です。
もちろん、テーブル名を変更する構文も用意されています。
ALTER TABLE [変更前テーブル名] RENAME [変更後テーブル名];
RENAME の後に TO を付けることもできますが、上記のように省略も可能です。
TO なしでもわかりやすい構文なので私は省略しています。
例えば、hoge_table テーブルを fuga_table に変更する場合は以下の通りです。
mysql> show tables; +------------------------+ | Tables_in_xxxxxxxx | +------------------------+ | hoge_table | +------------------------+ mysql> ALTER TABLE hoge_table RENAME fuga_table; Query OK, 0 rows affected (0.01 sec) mysql> show tables; +------------------------+ | Tables_in_xxxxxxxx | +------------------------+ | hoge_fuga | +------------------------+
新着記事一覧です。
「MySQLでテーブル名を変更する」に関連した記事一覧です。