在 SQL 中,視圖是基于 SQL 語(yǔ)句的結(jié)果集的可視化的表。
視圖包含行和列,就像一個(gè)真實(shí)的表。視圖中的字段就是來(lái)自一個(gè)或多個(gè)數(shù)據(jù)庫(kù)中的真實(shí)的表中的字段。
你可以向視圖添加 SQL 函數(shù)、WHERE 以及 JOIN 語(yǔ)句,也可以呈現(xiàn)數(shù)據(jù),就像這些數(shù)據(jù)來(lái)自于某個(gè)單一的表一樣。
SQL CREATE VIEW 語(yǔ)法:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition;
提示:視圖總是顯示最新的數(shù)據(jù)!每當(dāng)用戶查詢視圖時(shí),數(shù)據(jù)庫(kù)引擎通過(guò)使用視圖的 SQL 語(yǔ)句重建數(shù)據(jù)。
下面是 “Employees” 表,其中包含以下記錄:
讓我們創(chuàng)建一個(gè)視圖,顯示每個(gè)員工的 “FirstName” 和 "Salary"。
CREATE VIEW List AS SELECT FirstName, Salary FROM Employees;
現(xiàn)在,你可以像查詢實(shí)際表一樣查詢列表視圖。
SELECT * FROM List;
執(zhí)行輸出結(jié)果:
temp SELECT id, name, mark FROM students mark DESC LIMIT 10;
你可以使用下面的語(yǔ)法來(lái)更新視圖:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition;
現(xiàn)在,我們希望向 “List” 視圖添加 “LastName” 列,我們將通過(guò)下列 SQL 更新視圖:
CREATE OR REPLACE VIEW List AS SELECT FirstName, LastName, Salary FROM Employees;
再次查詢列表視圖,執(zhí)行輸出結(jié)果為:
你可以通過(guò) DROP VIEW 命令來(lái)刪除視圖:
DROP VIEW List;