MySQL 视图
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 OR REPLACE VIEW 语句更新视图。
CREATE OR 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];