SQLでcreate/selectを使って、既存テーブルの情報を新しいテーブルにコピーする

SQL
MySQL
PostgreSQL

一時的に情報を別テーブルに逃したいときってありますよね?
そういうときに、create文をコピーして、select/insertで流し込んで……

なんてする必要はありません。

やり方

userテーブルのidが1000より大きい人を
user_tmpテーブルに逃がすとします。

このように書きます

CREATE TABLE user_tmp AS
SELECT
	*
FROM
	user
WHERE
	id > 1000;

注意点として、indexなどはコピーされないので、
一時的にコピーを取るときなどに使いましょう