SQL 臨時(shí)表

在本教程中,您將學(xué)習(xí)如何使用SQL創(chuàng)建臨時(shí)表。

創(chuàng)建臨時(shí)表

臨時(shí)表是僅對(duì)當(dāng)前會(huì)話可見(jiàn)的表,并且在關(guān)閉創(chuàng)建該表的會(huì)話時(shí)會(huì)自動(dòng)將其刪除。

因此,由于臨時(shí)表不會(huì)永久存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此在您只需要短時(shí)間執(zhí)行或測(cè)試某些表,然后希望該表自動(dòng)消失的情況下,這將很有用。

語(yǔ)法

CREATE TEMPORARY TABLE語(yǔ)句用于創(chuàng)建臨時(shí)表。

CREATE TEMPORARY TABLE table_name (column definitions);

如果要從頭開(kāi)始創(chuàng)建臨時(shí)表,則可以在創(chuàng)建表時(shí)使用關(guān)鍵字TEMPORARY,即使用CREATE TEMPORARY TABLE代替CREATE TABLE語(yǔ)句。有關(guān)完整的語(yǔ)法和示例,請(qǐng)參見(jiàn)“ 創(chuàng)建表”一章。

創(chuàng)建現(xiàn)有表的臨時(shí)副本

在您只想測(cè)試SQL查詢(xún)而不影響數(shù)據(jù)庫(kù)的情況下,臨時(shí)表可能會(huì)很有用。讓我們?cè)?a href="sql-create-database-statement.html">MySQL數(shù)據(jù)庫(kù)中創(chuàng)建現(xiàn)有表的臨時(shí)副本。

在MySQL命令提示符處鍵入以下命令,然后按Enter:

mysql> CREATE TEMPORARY TABLE persons SELECT * FROM persons;

上面的語(yǔ)句從現(xiàn)有基表persons的結(jié)果集中動(dòng)態(tài)創(chuàng)建一個(gè)名為persons的臨時(shí)表。另外,由于它是persons表的臨時(shí)副本,因此您可以執(zhí)行INSERT,UPDATE或者DELETE等任何操作,而不必?fù)?dān)心錯(cuò)誤地影響原始的persons基表。

提示:臨時(shí)表可以與永久基表具有相同的名稱(chēng)。如果您指定的臨時(shí)表的名稱(chēng)與現(xiàn)有基本表的名稱(chēng)相同,則永久基表將被隱藏,直到刪除該臨時(shí)表為止。

注意:由于臨時(shí)表是特定于會(huì)話的,因此兩個(gè)不同的會(huì)話可以使用相同的臨時(shí)表名稱(chēng),而不會(huì)彼此沖突。

刪除臨時(shí)表

臨時(shí)表在其創(chuàng)建所在的數(shù)據(jù)庫(kù)連接或會(huì)話關(guān)閉后會(huì)自動(dòng)刪除。但是,如果要?jiǎng)h除它們而不關(guān)閉當(dāng)前會(huì)話,則可以使用如下DROP TEMPORARY TABLE語(yǔ)句:

mysql> DROP TEMPORARY TABLE persons;

上面的語(yǔ)句將從persons數(shù)據(jù)庫(kù)中刪除臨時(shí)表。之后,原始persons基表將變?yōu)榭梢?jiàn)。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清