MySQLの一時テーブル
我々はいくつかの一時的なデータを保存する必要がMySQLの一時テーブルは非常に便利です。現在の接続でのみ表示一時表、接続が閉じているとき、MySQLは自動的にテーブルを削除し、すべてのスペースを解放します。
バージョン3.23よりもあなたのMySQLのバージョン以前は、一時テーブルのMySQLを使用することができない場合は、MySQLのバージョン3.23での一時表は、追加されます。しかし、今はめったにMySQLデータベースサーバのような低再使用のバージョンを持っていません。
MySQLの一時テーブルは、現在の接続にのみ表示されますが、一時テーブルを作成するためにPHPのMySQLのスクリプトを使用する場合は、PHPスクリプトの実行が完了したとき、それは、一時テーブルは自動的に破棄されませんでした。
あなたは他のMySQLクライアントプログラムを使用する場合は、一時テーブルを作成するために、MySQLデータベースサーバに接続しますが、クライアントプログラムが一時テーブルを破壊する閉じたときにのみ、そして、もちろん、あなたも手動で破棄することができます。
例
以下は、MySQL一時テーブルを使用しての簡単な例を示し、次のSQLコードは、PHPスクリプト()関数をするmysql_queryに適用することができます。
MySQLの> TEMPORARY TABLE SalesSummaryを(CREATE
- > PRODUCT_NAME VARCHAR(50)NOT NULL
- >、DECIMAL(12,2)NOT NULL DEFAULT 0.00をTOTAL_SALES
- >、avg_unit_priceのDECIMAL(7,2)NOT NULL DEFAULT 0.00
- >、total_units_sold INT UNSIGNED NOT NULLをDEFAULT 0
);
影響を受けたクエリOK、0行(0.00秒)
MySQLの> INSERT INTO SalesSummary
- >(PRODUCT_NAME、TOTAL_SALES、avg_unit_price、total_units_sold)
- > VALUES
- >( 'キュウリ'、100.25、90、2)。
MySQLの> SalesSummary SELECT * FROM。
+ -------------- + ------------- + ---------------- + --- --------------- +
| PRODUCT_NAME | TOTAL_SALES | avg_unit_price | total_units_sold |
+ -------------- + ------------- + ---------------- + --- --------------- +
| キュウリ| 100.25 | 90.00 | 2 |
+ -------------- + ------------- + ---------------- + --- --------------- +
セット内の1行(0.00秒)
あなたはテーブルがデータテーブルのリストを表示するには、コマンドSHOWを使用するときは、SalesSummaryテーブルは表示されません。
あなたは現在のMySQLセッションを終了した場合は、元のデータを読み取るためにSELECTコマンドを使用して一時テーブルを作成し、その後、あなたが終了すると、一時テーブルが破壊されているので、何のデータベースは、テーブル内に存在しないことがわかります。
一時テーブルのMySQLを削除します。
データベースへの接続を切断する場合、デフォルトで、一時テーブルは自動的に破棄されます。もちろん、あなたも手動で一時的なMySQLのテーブルを削除するには、現在のセッションでDROP TABLEコマンドを使用することができます。
以下は、手動で一時テーブルを削除する例を示します。
MySQLの> TEMPORARY TABLE SalesSummaryを(CREATE
- > PRODUCT_NAME VARCHAR(50)NOT NULL
- >、DECIMAL(12,2)NOT NULL DEFAULT 0.00をTOTAL_SALES
- >、avg_unit_priceのDECIMAL(7,2)NOT NULL DEFAULT 0.00
- >、total_units_sold INT UNSIGNED NOT NULLをDEFAULT 0
);
影響を受けたクエリOK、0行(0.00秒)
MySQLの> INSERT INTO SalesSummary
- >(PRODUCT_NAME、TOTAL_SALES、avg_unit_price、total_units_sold)
- > VALUES
- >( 'キュウリ'、100.25、90、2)。
MySQLの> SalesSummary SELECT * FROM。
+ -------------- + ------------- + ---------------- + --- --------------- +
| PRODUCT_NAME | TOTAL_SALES | avg_unit_price | total_units_sold |
+ -------------- + ------------- + ---------------- + --- --------------- +
| キュウリ| 100.25 | 90.00 | 2 |
+ -------------- + ------------- + ---------------- + --- --------------- +
セット内の1行(0.00秒)
MySQLの> DROP TABLE SalesSummary。
MySQLの> SalesSummary SELECT * FROM。
ERROR 1146:テーブル「TUTORIALS.SalesSummary」が存在しません。
転載この記事:w3cschool(編集:Leilin鵬出典:ネットワーク侵入は削除)