MySQL 教程
/ 視圖
視圖
MySQL CREATE VIEW 語句
在 SQL 中,視圖是基于 SQL 語句結(jié)果集的虛擬表。
視圖包含行和列,就像真正的表一樣。 視圖中的字段是來自數(shù)據(jù)庫中一個或多個真實(shí)表的字段。
您可以將 SQL 語句和函數(shù)添加到視圖中,并像數(shù)據(jù)來自單個表一樣呈現(xiàn)數(shù)據(jù)。
使用 CREATE VIEW
語句創(chuàng)建視圖。
CREATE VIEW 創(chuàng)建視圖語法
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
注意:視圖總是顯示最新的數(shù)據(jù)! 每次用戶查詢時,數(shù)據(jù)庫引擎都會重新創(chuàng)建視圖。
MySQL CREATE VIEW 創(chuàng)建視圖示例
以下 SQL 創(chuàng)建一個視圖,顯示來自巴西的所有客戶:
實(shí)例
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';
我們可以這樣查詢上面的視圖:
實(shí)例
SELECT * FROM [Brazil Customers];
以下 SQL 創(chuàng)建一個視圖,該視圖選擇 "Products" 表中價格高于平均價格的所有產(chǎn)品:
實(shí)例
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
我們可以這樣查詢上面的視圖:
實(shí)例
SELECT * FROM [Products Above Average Price];
MySQL 更新視圖
可以使用 CREATE 或 REPLACE VIEW
語句更新視圖。
創(chuàng)建或替換視圖語法
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
以下 SQL 將 "City" 列添加到 "Brazil Customers" 視圖:
實(shí)例
CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';
MySQL 刪除視圖
使用 DROP VIEW
語句刪除視圖。
DROP VIEW 語法
DROP VIEW view_name;
以下 SQL 刪除 "Brazil Customers" 視圖:
實(shí)例
DROP VIEW [Brazil Customers];