MySQL
SQL

MySQLテーブルをそのままコピーする

More than 1 year has passed since last update.

テスト用のテーブルを用意したいときなど、テーブル構造も中のデータもそのままで名前だけ_testとかつけてまるっとコピーする方法。

検索すればすぐ出てきますが、毎回忘れがちなので備忘録です。
また、こういう風に書けば記憶にも残るかなと思って。

2つのSQLを実行するだけ

①構造が同じテーブルを作成
 LIKE演算子を使えば簡単にできます。

copy.sql
CREATE TABLE table_test LIKE table;


②データをインサート
 INSERT INTO ~ SELECT をします。

copy.sql
INSERT INTO table_test SELECT * FROM table;


これで構造もデータもそのままコピーされました。

以上。

▼参考
https://dev.mysql.com/doc/refman/5.6/ja/create-table-select.html
https://dev.mysql.com/doc/refman/5.6/ja/insert-select.html