【MySQL】INSERT ... SELECT & TABLE RENAME

投稿日:

相方とのコラボ作業で大き目の変更が入ったので、自宅で深夜作業しています。

MySQLでデータの洗い換えとテーブルリネームをしたので、
それをメモしておきます。

■データの洗い換え(INSERT ... SELECT)
新しく作ったテーブルXYZに既存テーブルABCのデータを丸ごとコピーしたい。
面倒くさいのでSQLでやります。

INSERT INTO XYZ SELECT C1, C2, NULL, NULL, C3 FROM ABC;

※C2, C3の間にカラムを追加した想定です。


■テーブルリネーム

ALTER TABLE XYZ RENAME TO ABC;

※この例の環境では先にABCをDROPしています。


INSERT INTO ... の方は、このケースではVALUES句が要らないことを忘れていてました。
構文自体はOracleと一緒ですね。
ALTER TABLEの方もOracleと一緒ですね。

って、OracleがSQLの標準ではありませんけどね。