Leilin鵬シェア:MySQLの一時テーブル

  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鵬出典:ネットワーク侵入は削除)

おすすめ

転載: www.cnblogs.com/linpeng1/p/10943322.html