English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySql チュートリアル
MySQL一時テーブルは、私たちが一時的なデータを保存する必要があるときに非常に役立ちます。一時テーブルは現在の接続でのみ可见で、接続を閉じると、MySQLは自動的にテーブルを削除し、すべてのスペースを解放します。 3.23MySQL一時テーブルはMySQL 3.23.バージョンに追加されましたが、あなたのMySQLバージョンが
バージョンではMySQLの一時テーブルを使用することができません。ただし、現在ではほとんどのMySQLデータベースサービスがこのような低いバージョンを使用していないため、これは稀です。
MySQL一時テーブルは現在の接続でのみ可见です。PHPスクリプトを使用してMySQL一時テーブルを作成すると、PHPスクリプトの実行が完了すると一時テーブルも自動的に破棄されます。
オンラインサンプル
mysql> CREATE TEMPORARY TABLE SalesSummary ( -> product_name VARCHAR(50) NOT NULL -> , total_sales DECIMAL(12,2NOT NULL DEFAULT 0.00 -> , avg_unit_price DECIMAL(7,2NOT NULL DEFAULT 0.00 ->total_units_soldINTUNSIGNEDNOTNULLDEFAULT0 ); クエリOK,影響を受けた行0(0.00秒) mysql>INSERT INTO SalesSummary ->(product_name, total_sales, avg_unit_price, total_units_sold) ->VALUES ->('cucumber', 100.25, 90, 2); mysql>SELECT * FROMSalesSummary; +--------------+-------------+----------------+------------------+ |product_name|total_sales|avg_unit_price|total_units_sold| +--------------+-------------+----------------+------------------+ |cucumber | 100.25 | 90.00| 2 | +--------------+-------------+----------------+------------------+ 1 行インセット(0.00秒)
以下はMySQL一時テーブルを使用する簡単な例です。以下のSQLコードはPHPスクリプトのmysql_query()関数に適用できます。 SHOW TABLESコマンドを使用してデータテーブルリストを表示すると、SalesSummaryテーブルを見つけることができません。
現在のMySQLセッションを退出して、 SELECTコマンドを使用して以前に作成した一時テーブルのデータを読み取ると、データベースにそのテーブルが存在しないことに気づくでしょう。なぜなら、退出時にはその一時テーブルが既に破棄されているからです。
デフォルトでは、データベースとの接続を切ると、一時テーブルは自動的に破棄されます。もちろん、現在のMySQLセッションで DROP TABLE コマンドを使用して手動で一時テーブルを削除します。
以下は手動で一時テーブルを削除する例です:
mysql> CREATE TEMPORARY TABLE SalesSummary ( -> product_name VARCHAR(50) NOT NULL -> , total_sales DECIMAL(12,2NOT NULL DEFAULT 0.00 -> , avg_unit_price DECIMAL(7,2NOT NULL DEFAULT 0.00 ->total_units_soldINTUNSIGNEDNOTNULLDEFAULT0 ); クエリOK,影響を受けた行0(0.00秒) mysql>INSERT INTO SalesSummary ->(product_name, total_sales, avg_unit_price, total_units_sold) ->VALUES ->('cucumber', 100.25, 90, 2); mysql>SELECT * FROMSalesSummary; +--------------+-------------+----------------+------------------+ |product_name|total_sales|avg_unit_price|total_units_sold| +--------------+-------------+----------------+------------------+ |cucumber | 100.25 | 90.00| 2 | +--------------+-------------+----------------+------------------+ 1 行インセット(0.00秒) mysql> DROP TABLE SalesSummary; mysql>SELECT * FROMSalesSummary; エラー 1146:テーブル'w3codebox.SalesSummary'は存在しません