English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQL 临时テーブル

このチュートリアルでは、SQLを使用して一時テーブルを作成する方法を学びます。

一時テーブルの作成

一時テーブルは現在のセッションに対してのみ可见で、そのテーブルを作成したセッションを閉じると自動的に削除されます。

一時テーブルはデータベースに永続的に保存されないため、一時的にある特定のテーブルを実行またはテストする必要がある場合、またはそのテーブルが自動的に消えることを望む場合に非常に便利です。

構文

CREATE TEMPORARY TABLE文は一時テーブルを作成するために使用されます。

CREATE TEMPORARY TABLE table_name (column definitions);

一から一時テーブルを作成したい場合は、CREATE TEMPORARY TABLEを使用して、CREATE TABLE文の代わりに使用します。詳細な構文と例については、「 テーブルの作成の章。

既存のテーブルの临时コピーを作成します

SQLクエリをテストしたいがデータベースに影響を与えたくない場合、一時テーブルが非常に便利です。以下で作成しますMySQLデータベース内既存のテーブルの临时コピーを作成します。

MySQLコマンドプロンプトで以下のコマンドを入力して、Enterキーを押します:

mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;

上記の文は、現存の基表personsの結果セットから動的にpersonsという一時テーブルを作成します。また、それはpersonsテーブルの一時的なコピーであるため、以下の操作を行うことができますINSERTUPDATEまたはDELETEなどの操作を行う際も、元のpersons基本テーブルに誤って影響を与えることを心配する必要はありません。

ヒント:一時テーブルは永続的な基本テーブルと同じ名前を持つことができます。指定した一時テーブルの名前が既存の基本テーブルの名前と一致する場合、永続的な基本テーブルは一時テーブルが削除されるまで隠されます。

注意:一時テーブルはセッション固有であり、異なるセッションが同じ一時テーブル名を使用しても、相互に干渉しません。

一時テーブルの削除

一時テーブルは、作成されたデータベース接続やセッションが閉じるまで自動的に削除されます。しかし、現在のセッションを閉じずに削除する場合は、以下のDROP TEMPORARY TABLE文を使用できます:

mysql> DROP TEMPORARY TABLE persons;

以下の文は、personsデータベースから一時テーブルを削除します。その後、元のpersons基本テーブルが表示されます。