首页 > 技术文章 > 18 VIEW试图的用法

yongzhao 2021-06-01 15:35 原文

18.1 视图的定义

视图是可视化的表。

 

18.2 CREATE VIEW语句

在SQL中,视图是基于SQL语句的结果集的可视化表。

视图包含行和列,就像真正的表一样。视图中的字段是一个或多个数据库中真实表中的字段。

你可以添加SQL函数,在哪里添加,并将语句连接到视图,或者你可以呈现数据,就像数据来自单个表一样。

 

18.3 CREATE VIEW语法

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition;

注意:视图总是显示最新数据!每当用户查询视图时,数据库引擎就使用视图的SQL语句重新构建数据。

 

18.4 CREATE VIEW实例

--从Customers表中列出所有广东省的客户
CREATE VIEW Customer_GD AS
SELECT * FROM Customers WHERE 省份='广东';

--查询视图
SELECT * FROM Customer_GD;
--选取Products表中所有价格高于平均价格的产品
CREATE VIEW Products_Above_Average_Price AS
SELECT 名称,价格 FROM Products
WHERE 价格>(SELECT AVG(价格) FROM Products);

--查询视图
SELECT * FROM Products_Above_Average_Price;

--也可以向视图添加条件,比如仅仅需要查看“大米”类的价格
SELECT * FROM Products_Above_Average_Price
WHERE 名称='大米';

 

18.5 更新视图

语法:

ALTER VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

举例,向Products_Above_Average_Price视图添加“规格”列:

--向 "Products_Above_Average_Price" 视图添加 "规格" 列
ALTER VIEW Products_Avove_Average_Price AS
SELECT 名称,价格,规格
FROM Products
WHERE 价格>(SELECT AVG(价格) FROM Price);

--查询更新后的视图
SELECT * FROM Products_Above_Average_Price;

 

18.6 删除视图

可以使用DROP VIEW命令来删除视图。

语法:

DROP VIEW view_name;

举例,删除视图"Products_Above_Average_Price":

DROP VIEW Products_Above_Average_Price;

 

18.7 小结

视图是数据库中一个比较重要的组成部分,在隔离实体表的前提下还可以让用户查询到需要的数据,可以起到保护底层数据的作用。同时针对不同的人群,视图也可以起到简化用户对数据的理解。

推荐阅读