SQL —— 视图操作

版权声明:最终解释权归属Hern所有,恒! https://blog.csdn.net/qq_36761831/article/details/83757253

视图

视图是虚拟的表,与包含数据的表不同的是视图纸包含使用时动态检索数据的查询

视图实际上就是一个存储查询,可以混合和匹配来自基本表(或其他视图)的数据,从而创建在很多方面象另一个普通表那样的起的作用。可以创建一个简单的查询,仅仅从一个表(另一个视图)选择几列或几行,而忽略其他行或列,或者也可以创建一个复杂查询。连接几个表查询,使得这些连接查询看起来更像一个表。

视图是虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。

注意:

1、因为视图不包含数据,所以每次使用视图时,都必须处理查询执行时所需要的任一个检索,如果用多个联结和过滤创建了复杂的视图或者嵌套了视图,可能造成性能下降的很厉害,因此在部署使用了大量视图的应用前应该进行测试。

2、一般应该将视图用于检索而不是更新。

使用视图的原因

1、重用SQL语句。

2、简化复杂的SQL操作。

3、使用表的组成部分而不是整个表。

4、保护数据,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。

5、更改数据格式和表示,视图可以返回与底层表的表示和格式不同的数据。

视图的规则和限制

1、与表一样,视图必须唯一名。

2、对于可以创建的视图数目没有限制。

3、为了创建视图,必须具有足够的访问权限,这些权限由数据库管理人员授予。

4、视图可以嵌套。

5、ORDER BY 语句可以在视图中使用,但如果从该视图检索数据的SELECT语句中包含ORDER BY语句,那么该视图中的ORDER BY语句将被覆盖。

6、视图不能索引,也不能关联触发器或是默认值。

7、视图可以与表一起使用。

创建视图语法

CREATE VIEW 视图名称[(字段1) (字段2) (字段3)…]
AS
SQL语句
[with  check  option];



参数[with check option]可选项,防止用户对数据插入、删除、更新是操作了视图范围外的基本表的数据。

删除视图语法

DROP VIEW 视图名称;

更新视图

通常,一般情况下,视图时可以更新的(即可以对它们使用INSERT、UPDATE、DELETE),更新一个视图将更新其基表(视图本身没有数据),如果对视图增加或删除行,实际上是对其基表增加或删除行。

并不是所有视图都可以更新(例如:存在分组、联结、子查询、并操作、聚集函数、去重操作或去重函数、导出列、计算列……这些都不能更新视图)。

语法

1、方法一:直接使用CREATE OR REPLACE VIEW语法

CREATE OR REPLACE VIEW 视图名称[(字段1) (字段2) (字段3)…]
AS
SQL语句
[with  check  option];



参数[with check option]可选项,防止用户对数据插入、删除、更新是操作了视图范围外的基本表的数据。

2、方法二:先用DROP删除需要更新的视图,然后再用CREATE创建一个全新的视图。

猜你喜欢

转载自blog.csdn.net/qq_36761831/article/details/83757253