MySQL Views
MySQL CREATE VIEW 语句
在 SQL 中,视图是基于 SQL 语句结果集的虚拟表。
视图包含行和列,就像真正的表一样。 视图中的字段是来自数据库中一个或多个真实表的字段。
您可以将 SQL 语句和函数添加到视图中,并像数据来自单个表一样呈现数据。
使用 CREATE VIEW
语句创建视图。
CREATE VIEW 创建视图语法
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
注意:视图总是显示最新的数据! 每次用户查询时,数据库引擎都会重新创建视图。
MySQL CREATE VIEW 创建视图示例
以下 SQL 创建一个视图,显示来自巴西的所有客户:
实例
CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';
我们可以这样查询上面的视图:
实例
SELECT * FROM [Brazil Customers];
以下 SQL 创建一个视图,该视图选择 "Products" 表中价格高于平均价格的所有产品:
实例
CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);
我们可以这样查询上面的视图:
实例
SELECT * FROM [Products Above Average Price];
MySQL 更新视图
可以使用 CREATE 或 REPLACE VIEW
语句更新视图。
创建或替换视图语法
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
以下 SQL 将 "City" 列添加到 "Brazil Customers" 视图:
实例
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" 视图:
实例
DROP VIEW [Brazil Customers];