【MySQL】一時テーブルの作成やテーブルをコピーする方法
ここではMySQLで、一時テーブルの作成やテーブルをコピーする方法を紹介しています。
一時テーブルの作成
一時表はセッション終了時に保持しているデータが破棄されるテーブルになります。
処理の途中結果を一時的に格納しておく場合などに利用します。
一時表はセッション終了時に保持しているデータが破棄されるテーブルになります。
処理の途中結果を一時的に格納しておく場合などに利用します。
一時テーブルを作成するSQL
一時テーブルを作成するには、CREATE TEMPORARY TABLE文を使います。
CREATE TABLE [IF NOT EXISTS] TEMPORARY テーブル名(
列名 データの型
[,列名 データの型]
)
;
TEMPORARY句を付けること以外は通常のテーブルと同じ作り方になります。V
通常のテーブルの作成方法は↓で紹介していますので参考にしてください。
>>【MySQL】テーブルを作成・変更・削除するSQL
テーブルのコピー
テーブルをコピーするには、CREATE TABLE文を使います。
このときLIKE演算子を使うことで、表の構造、索引、主キーをそのままコピーすることが出来ます。
CREATE TABLE テーブル名 LIKE コピー元テーブル名;
コピーした直後、レコードは登録されていないので次のSQLを実行してデータをコピーします。
INSERT INTO テーブル名 SELECT * FROM コピー元テーブル名;
コピーテーブルに索引、主キー制約が不要な場合
表の索引や主キー制約が不要な場合はCREATE TABLE ~ AS SELECT文で簡単に表とレコードをコピーすることもできます。
CREATE TABLE テーブル名 AS SELECT * FROM コピー元テーブル名;