mysql臨時(shí)表(temporary?table)使用方法詳解
概述
***1. 作用:臨時(shí)表用來(lái)保存一些 '臨時(shí)數(shù)據(jù)'
2. 注意:
(1) 臨時(shí)表只在 '當(dāng)前連接' 可見(jiàn),當(dāng)關(guān)閉連接時(shí),Mysql 會(huì) '自動(dòng)刪除表數(shù)據(jù)及表結(jié)構(gòu)'
(2) 臨時(shí)表 和 普通表 用法一樣,用關(guān)鍵字 'temporary' 予以區(qū)別***
臨時(shí)表
1、創(chuàng)建一個(gè)臨時(shí)表 test
命令:
創(chuàng)建臨時(shí)表test,保存所有ID信息
CREATE TEMPORARY TABLE test( id int(2) );
運(yùn)行結(jié)果:l臨時(shí)表test創(chuàng)建成功
INSERT INTO test values (10);
運(yùn)行結(jié)果:添加數(shù)據(jù)成功
select * from test
運(yùn)行結(jié)果:臨時(shí)表中數(shù)據(jù)查詢(xún)成功
使用命令查看數(shù)據(jù)庫(kù)中是否存在創(chuàng)建的臨時(shí)表:
show tables
**總結(jié):臨時(shí)表是一張表,用來(lái)臨時(shí)保存一些數(shù)據(jù)。它只對(duì)創(chuàng)建它的會(huì)話(huà)可見(jiàn)。當(dāng)會(huì)話(huà)結(jié)束時(shí),MySQL自動(dòng)刪除臨時(shí)表(表結(jié)構(gòu)和表數(shù)據(jù)庫(kù)),并且臨時(shí)表不會(huì)存進(jìn)mysql中**
2、使用相同的名字創(chuàng)建一個(gè)普通表和臨時(shí)表
會(huì)話(huà)可以創(chuàng)建一個(gè)和已有的普通表名字相同的臨時(shí)表。在這種情況下,該會(huì)話(huà)只能看到臨時(shí)表而看不見(jiàn)同名的普通表。當(dāng)臨時(shí)表被刪除后,才可以看到普通表
2、1創(chuàng)建普通表;
CREATE TABLE testable (c1 INT); INSERT INTO testable VALUES(1);
創(chuàng)建的普通表已經(jīng)存在,表結(jié)構(gòu),表數(shù)據(jù)都可以正常查詢(xún)。
2、2 創(chuàng)建與普通表相同的臨時(shí)表;
CREATE TEMPORARY TABLE testable(c1 INT,c2 INT); INSERT INTO testable VALUES(4,10); SELECT * FROM testable;
與普通表名稱(chēng)相同的臨時(shí)表創(chuàng)建成功,查詢(xún)返回的表結(jié)構(gòu)、表數(shù)據(jù)都是臨時(shí)表的結(jié)果,普通表的信息無(wú)返回結(jié)果,
刪除臨時(shí)表,普通表的才能恢復(fù)正常:
刪除臨時(shí)表,此時(shí)查詢(xún)返回的結(jié)果就是普通表的信息
總結(jié):會(huì)話(huà)可以創(chuàng)建一個(gè)和已有的普通表名字相同的臨時(shí)表。在這種情況下,該會(huì)話(huà)只能看到臨時(shí)表而 看不見(jiàn)同名的普通表。當(dāng)臨時(shí)表被刪除后,才可以看到普通表
附:臨時(shí)表的作用和優(yōu)勢(shì)
1、查詢(xún)優(yōu)化
臨時(shí)表能夠改善復(fù)雜查詢(xún)的性能和可讀性。例如,當(dāng)需要執(zhí)行多個(gè)依賴(lài)于前一個(gè)查詢(xún)結(jié)果的SQL查詢(xún)時(shí),可以使用臨時(shí)表來(lái)存儲(chǔ)每個(gè)查詢(xún)步驟的結(jié)果。這樣做減少了重復(fù)計(jì)算和提高了代碼整潔度。
2、數(shù)據(jù)整合
在需要從多個(gè)數(shù)據(jù)源匯總數(shù)據(jù)時(shí),臨時(shí)表可以起到橋梁的作用。它們使得數(shù)據(jù)格式統(tǒng)一化、易于處理。
3、處理用戶(hù)會(huì)話(huà)相關(guān)數(shù)據(jù)
在Web應(yīng)用中,例如在線(xiàn)購(gòu)物網(wǎng)站,臨時(shí)表可用于存儲(chǔ)用戶(hù)會(huì)話(huà)期間的狀態(tài)信息,比如購(gòu)物車(chē)內(nèi)容。
4、批量數(shù)據(jù)處理
在需要對(duì)大量數(shù)據(jù)進(jìn)行更新或清理時(shí),臨時(shí)表可以作為緩沖層,減少直接對(duì)生產(chǎn)環(huán)境的影響。
例如:公司需要生成一個(gè)報(bào)告,其中包含來(lái)自銷(xiāo)售和財(cái)務(wù)兩個(gè)部門(mén)數(shù)據(jù)庫(kù)的數(shù)據(jù)。這兩個(gè)數(shù)據(jù)庫(kù)有不同的結(jié)構(gòu),使用臨時(shí)表可以先將數(shù)據(jù)整合起來(lái)。
-- 從銷(xiāo)售數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)臨時(shí)表 CREATE TEMPORARY TABLE temp_sales_data AS SELECT product_id, SUM(quantity) AS total_quantity FROM sales_database.sales GROUP BY product_id; -- 從財(cái)務(wù)數(shù)據(jù)庫(kù)插入數(shù)據(jù)到臨時(shí)表 INSERT INTO temp_sales_data (product_id, total_quantity) SELECT product_code, SUM(sold_units) AS total_quantity FROM finance_database.financial_records GROUP BY product_code; -- 使用整合后的數(shù)據(jù)生成報(bào)告 SELECT product_id, total_quantity FROM temp_sales_data;
總結(jié):
1.臨時(shí)表是一張表,用來(lái)臨時(shí)保存一些數(shù)據(jù)。它只對(duì)創(chuàng)建它的會(huì)話(huà)可見(jiàn)。當(dāng)會(huì)話(huà)結(jié)束時(shí),MySQL自動(dòng)刪除臨時(shí)表(表結(jié)構(gòu)和表數(shù)據(jù)庫(kù)),并且臨時(shí)表不會(huì)存進(jìn)mysql中。
2.會(huì)話(huà)可以創(chuàng)建一個(gè)和已有的普通表名字相同的臨時(shí)表。在這種情況下,該會(huì)話(huà)只能看到臨時(shí)表而 看不見(jiàn)同名的普通表。當(dāng)臨時(shí)表被刪除后,才可以看到普通表`
到此這篇關(guān)于mysql臨時(shí)表(temporary table)使用方法詳解的文章就介紹到這了,更多相關(guān)mysql臨時(shí)表詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql數(shù)據(jù)庫(kù)您要的常見(jiàn)日期查詢(xún)方法總結(jié)
這篇文章主要介紹了MySQL中常用日期查詢(xún)的20種方法,包括查詢(xún)今天、昨天、近7天、近30天等數(shù)據(jù),以及查詢(xún)特定日期的周、月、季度和年份數(shù)據(jù),需要的朋友可以參考下2025-02-02mysql regexp匹配多個(gè)字符串實(shí)現(xiàn)
本文主要介紹了mysql regexp匹配多個(gè)字符串實(shí)現(xiàn),可以利用REGEXP正則表達(dá)式匹配多個(gè)字符串,從而實(shí)現(xiàn)高效查詢(xún),具有一定的參考價(jià)值,感興趣的可以了解一下2024-09-09深入解析MySQL索引數(shù)據(jù)結(jié)構(gòu)
什么是索引?索引就是排好序的數(shù)據(jù)結(jié)構(gòu),可以幫助我們快速的查找到數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MySQL索引數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2021-10-10SUSE Linux下源碼編譯方式安裝MySQL 5.6過(guò)程分享
這篇文章主要介紹了SUSE Linux下源碼編譯方式安裝MySQL 5.6過(guò)程分享,本文使用SUSE Linux Enterprise Server 10 SP3 (x86_64)系統(tǒng),需要的朋友可以參考下2014-09-09一篇文章帶你了解MySQL數(shù)據(jù)庫(kù)約束
數(shù)據(jù)庫(kù)中要管理很多數(shù)據(jù),但是這些數(shù)據(jù)是否正確、是否非法,光靠人力來(lái)檢驗(yàn)是遠(yuǎn)遠(yuǎn)不夠的,因此我們想讓數(shù)據(jù)庫(kù)擁有豐富的檢驗(yàn)和校驗(yàn)?zāi)芰?所以便引入了約束,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)約束的相關(guān)資料,需要的朋友可以參考下2023-06-06MySQL添加外鍵時(shí)報(bào)錯(cuò):1215 Cannot add the foreign key constraint的解決方法
大家都知道MySQL中經(jīng)常會(huì)需要?jiǎng)?chuàng)建父子表之間的約束,這個(gè)約束是需要建立在主外鍵基礎(chǔ)之上的,最近在MySQL添加外鍵時(shí)發(fā)現(xiàn)了一個(gè)報(bào)錯(cuò):1215 Cannot add the foreign key constraint,所以這篇文章就給大家介紹了如何解決在創(chuàng)建主外鍵約束過(guò)程中碰到的這個(gè)問(wèn)題。2016-11-11MySQL8重置root賬戶(hù)密碼圖文教程超詳細(xì)講解
root賬戶(hù)為MySQL的超級(jí)管理員用戶(hù),擁有MySQL提供的所有權(quán)限,這篇文章主要介紹了MySQL8重置root賬戶(hù)密碼圖文教程,需要的朋友可以參考下2023-05-05mysql not in、left join、IS NULL、NOT EXISTS 效率問(wèn)題記錄
mysql not in、left join、IS NULL、NOT EXISTS 效率問(wèn)題記錄,需要的朋友可以參考下。2011-12-12