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];