SQL 视图
SQL CREATE VIEW 语句
SQL 视图是基于 SQL 语句结果集的虚拟表。SQL 视图包含行和列,就像真实的表一样。视图中的字段是数据库中一个或多个真实表的字段。
您可以向视图中添加 SQL 语句和函数,并呈现数据,就好像数据来自单个表一样。
视图使用 CREATE VIEW 语句创建。
CREATE VIEW 语法
CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
注意:视图始终显示实时数据!数据库引擎只存储视图的定义(SELECT 语句),而不是数据的副本。
CREATE VIEW 示例
以下 SQL 语句创建一个名为 Brazil Customers 的视图,显示来自巴西的所有客户:
实例
CREATE VIEW [Brazil Customers] AS SELECT CustomerName, ContactName FROM Customers WHERE Country = 'Brazil';
要查询上述视图,请使用以下 SQL 语法:
实例
SELECT * FROM [Brazil Customers];
以下 SQL 语句创建一个名为 Products Above Average Price 的视图,选择 Products 表中价格高于平均价格的所有产品:
实例
CREATE VIEW [Products Above Average Price] AS SELECT ProductName, Price FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);
要查询上述视图,请使用以下 SQL 语法:
实例
SELECT * FROM [Products Above Average Price];
ALTER VIEW 语句 (SQL Server)
在 SQL Server 中,可以使用 ALTER VIEW 语句更新视图。
ALTER VIEW 语法
ALTER VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
以下 SQL 语句将 City 列添加到 Brazil Customers 视图中:
实例
ALTER VIEW [Brazil Customers] AS SELECT CustomerName, ContactName, City FROM Customers WHERE Country = 'Brazil';
CREATE OR REPLACE VIEW 语句 (MySQL 和 Oracle)
在 MySQL 和 Oracle 中,可以使用 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';
DROP VIEW 语句
视图使用 DROP VIEW 语句删除。
DROP VIEW 语法
DROP VIEW view_name;
以下 SQL 语句删除 Brazil Customers 视图:
实例
DROP VIEW [Brazil Customers];