本文將向您展示如何在 MySQL 中創(chuàng)建和管理視圖。視圖是一個(gè)虛擬表,它不存儲(chǔ)自己的數(shù)據(jù),而是顯示存儲(chǔ)在其他表中的數(shù)據(jù)。本質(zhì)上,視圖是 SQL 查詢(xún)執(zhí)行的結(jié)果,它從一個(gè)或多個(gè)表中返回所需的數(shù)據(jù)行。
內(nèi)容
如何使用 CREATE VIEW 語(yǔ)句創(chuàng)建一個(gè)簡(jiǎn)單的 MySQL 視圖
如何使用 JOIN 創(chuàng)建視圖以組合來(lái)自多個(gè)表的數(shù)據(jù)
如何更新 MySQL 視圖
如何刪除 MySQL 視圖
如何在 dbForge Studio for MySQL 中創(chuàng)建視圖
如何使用 CREATE VIEW 語(yǔ)句創(chuàng)建一個(gè)簡(jiǎn)單的 MySQL 視圖
在 MySQL 中創(chuàng)建視圖的基本語(yǔ)法如下:
[db_name.]是將在其中創(chuàng)建視圖的數(shù)據(jù)庫(kù)的名稱(chēng);如果未指定,將在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建視圖
view_name是您正在創(chuàng)建的視圖的唯一名稱(chēng)
[(co??lumn_list)]定義了可在視圖名稱(chēng)后的括號(hào)中指示的所需列列表;默認(rèn)情況下,從 SELECT 語(yǔ)句的選擇列表中檢索列列表
select-statement是指定的 SELECT 語(yǔ)句,可以從表或視圖中查詢(xún)數(shù)據(jù)
這是最簡(jiǎn)單的例子。如果我們當(dāng)前的數(shù)據(jù)庫(kù)中有一個(gè)名為customers的表,并且我們想請(qǐng)求一個(gè)包含訂單交易日期的客戶(hù)列表,腳本可能如下所示:
執(zhí)行此語(yǔ)句后,事務(wù)對(duì)象將在視圖中可用?,F(xiàn)在我們可以繼續(xù)執(zhí)行一個(gè)語(yǔ)句來(lái)選擇這個(gè)視圖中的所有字段:
輸出將構(gòu)成一個(gè)包含三列的表:id_number、name和transaction_date。
如何使用 JOIN 創(chuàng)建視圖以組合來(lái)自多個(gè)表的數(shù)據(jù)
我們的下一個(gè)示例稍微復(fù)雜一些,因?yàn)樗婕岸鄠€(gè)表(在我們的示例中將有三個(gè)):
此視圖為我們提供了每個(gè)客戶(hù)的訂單收入信息,按訂單 ID 分組。為此,我們使用order_details表數(shù)據(jù)計(jì)算總收入,并使用 INNER JOIN 子句從訂單表中檢索訂單 ID,從customers表中檢索客戶(hù)名稱(chēng)。
如何更新 MySQL 視圖
如果需要通過(guò)視圖更新表,可以使用INSERT、UPDATE、DELETE語(yǔ)句對(duì)底層表的行進(jìn)行相應(yīng)的操作。但是,請(qǐng)注意,為了可更新,您的視圖不得包含以下任何內(nèi)容:
聚合函數(shù),例如 MIN、MAX、COUNT、AVG 或 SUM
諸如 GROUP BY、DISTINCT、HAVING、UNION 或 UNION ALL 之類(lèi)的子句
左聯(lián)接或外聯(lián)接
對(duì)基表任意列的多次引用
SELECT 或 WHERE 子句中的子查詢(xún)引用出現(xiàn)在 FROM 子句中的表
FROM 子句中對(duì)不可更新視圖的引用
對(duì)非文字值的引用
現(xiàn)在讓我們基于warehouses表創(chuàng)建一個(gè)名為warehouse_details的可更新視圖。
現(xiàn)在我們可以從這個(gè)視圖查詢(xún)數(shù)據(jù):
假設(shè)我們要使用以下 UPDATE 語(yǔ)句通過(guò) warehouse_details視圖更改warehouse_id ’55’的倉(cāng)庫(kù)的電話(huà)號(hào)碼。
最后,我們可以使用以下查詢(xún)檢查是否已應(yīng)用更改:
如何刪除 MySQL 視圖
如果我們不再需要某個(gè)視圖,我們可以使用簡(jiǎn)單的 DROP 語(yǔ)句將其刪除:
如何在 dbForge Studio for MySQL 中創(chuàng)建視圖
現(xiàn)在我們知道了基本語(yǔ)法,我們需要找到一個(gè)工具來(lái)幫助我們最有效地管理我們的數(shù)據(jù)庫(kù)和視圖。我們建議您嘗試使用dbForge Studio for MySQL,這是一個(gè)涵蓋您能想到的幾乎所有 MySQL 數(shù)據(jù)庫(kù)操作的工具集。下載試用版,花幾分鐘安裝它,然后讓我們開(kāi)始吧。
連接到 MySQL 數(shù)據(jù)庫(kù)后,您可以使用以下兩種方式之一創(chuàng)建視圖。
第一種方法是在 SQL 文檔中編寫(xiě)和執(zhí)行查詢(xún)。在這里,dbForge Studio for MySQL 提供上下文相關(guān)的代碼完成、自動(dòng)語(yǔ)法檢查、代碼片段、大型腳本的快速導(dǎo)航以及可自定義的格式配置文件。換句話(huà)說(shuō),您可以在一個(gè)方便的 IDE 中獲得您可能需要的所有功能。
SQL 文檔中的查詢(xún)格式
如果您想通過(guò)簡(jiǎn)單的分步指南掌握此功能,請(qǐng)隨時(shí)查看我們文檔的編寫(xiě)和執(zhí)行 SQL 語(yǔ)句部分。您將在那里找到一切,從創(chuàng)建新 SQL 文檔到通過(guò)命令行界面自動(dòng)執(zhí)行查詢(xún)。
第二種方式是 dbForge Studio 最著名的工具之一——Query Builder。它以圖表的形式直觀地呈現(xiàn)您的查詢(xún),生成上述 JOIN,并啟用 INSERT、UPDATE 和 DELETE 語(yǔ)句的交互式構(gòu)建以更新您的視圖。
表之間帶有 JOIN 的可視化查詢(xún)?cè)O(shè)計(jì)
同樣,本文不可能涉及關(guān)于工作流的全部?jī)?nèi)容,但我們的文檔中有一個(gè)特殊的Query Builder部分,您可以在其中獲得構(gòu)建和管理可視化圖表的詳細(xì)指南。
結(jié)論
dbForge Studio for MySQL 是一個(gè)包羅萬(wàn)象的 IDE,用于數(shù)據(jù)庫(kù)開(kāi)發(fā)、管理和實(shí)施。它提供了構(gòu)建查詢(xún)、比較和分析數(shù)據(jù)、開(kāi)發(fā)和調(diào)試存儲(chǔ)過(guò)程、比較和同步數(shù)據(jù)庫(kù)模式等的最簡(jiǎn)單方法。
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話(huà):4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫(huà)