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';
We can query the view above as follows
示例
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);
We can query the view above as follows
示例
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;
The following SQL adds the "City" column to the "Brazil Customers" view
示例
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;
The following SQL drops the "Brazil Customers" view (以下 SQL 语句删除 "Brazil Customers" 视图)
示例
DROP VIEW [Brazil Customers];