W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
由于速度或一次性數(shù)據(jù),一些操作可能受益于臨時表。 臨時表的生命期在會話終止時結(jié)束,無論是從命令提示符,PHP腳本還是通過客戶端程序使用它們。 它也不以典型的方式出現(xiàn)在系統(tǒng)中。 SHOW TABLES命令不會顯示包含臨時表的列表。
CREATE TABLE語句中的TEMPORARY關(guān)鍵字生成臨時表。 查看下面給出的示例 -
mysql>CREATE TEMPORARY TABLE order ( item_name VARCHAR(50) NOT NULL , price DECIMAL(7,2) NOT NULL DEFAULT 0.00 , quantity INT UNSIGNED NOT NULL DEFAULT 0 );
在創(chuàng)建臨時表時,可以使用LIKE子句克隆現(xiàn)有表,這意味著其所有常規(guī)特征。 用于生成臨時表的CREATE TABLE語句不會作為TEMPORARY關(guān)鍵字的結(jié)果提交事務。
雖然臨時表在會話結(jié)束時與非臨時表脫離,但它們可能有一定的沖突 -
他們有時會與過期會話中的ghost臨時表沖突。
它們有時與非臨時表的影子名稱沖突。
注意 - 臨時表允許與現(xiàn)有非臨時表具有相同的名稱,因為MariaDB將其視為差異引用。
MariaDB需要向用戶授予創(chuàng)建臨時表的權(quán)限。 使用GRANT語句將此權(quán)限授予非管理員用戶。
GRANT CREATE TEMPORARY TABLES ON orders TO 'machine122'@'localhost';
雖然臨時表基本上在會話結(jié)束時刪除,您可以選擇刪除它們。 刪除臨時表需要使用TEMPORARY關(guān)鍵字,最佳實踐建議在臨時表之前刪除臨時表。
mysql> DROP TABLE order;
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: