MySQL 一時テーブルの作成


テンポラリテーブルは、一時的なデータを保持するのに非常に便利です。 Temporary tablesオプションは、MySQLバージョン3.23以降で使用できます。

テンポラリテーブルは、セッションが終了するか接続が閉じられると自動的に破棄されます。ユーザーは一時表をドロップすることもできます。

テンポラリ・テーブルは、そのテーブルを作成したクライアントだけが使用可能でアクセス可能であるため、同時に同じテンポラリ・テーブル名を多くの接続で使用できます。

一時テーブルは、以下のタイプで作成できます

--->Basic temporary table creation
CREATE TEMPORARY TABLE tempTable1(
       id INT NOT NULL AUTO_INCREMENT,
       title VARCHAR(100) NOT NULL,
       PRIMARY KEY ( id )
    );

--->Temporary table creation from select query
CREATE TEMPORARY TABLE tempTable1
    SELECT ColumnName1,ColumnName2,... FROM table1;

テーブルを作成するときにインデックスを追加できます。

CREATE TEMPORARY TABLE tempTable1
        ( PRIMARY KEY(ColumnName2) )
    SELECT ColumnName1,ColumnName2,... FROM table1;

IF NOT EXISTS 'table already exists'というエラーを避けるために、下記のようにキーワードを使用することができます。ただし、使用しているテーブル名が現在のセッションにすでに存在する場合は、テーブルは作成されません。

CREATE TEMPORARY TABLE IF NOT EXISTS tempTable1
    SELECT ColumnName1,ColumnName2,... FROM table1;