MySQL视图

介绍

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。基表:用来创建视图的表叫做基表base table

为什么使用视图

1、简化复杂的sql操作。在编写查询后,可以很方便的重用他,而不必知道他的基本查询细节。

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

3、保护数据。可以给用户授予表的特定部分的访问权限。

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

在视图创建了之后,可以用与表基本相同的方式利用它。可以对视图进行SELECT操作,过滤与排序数据,将视图联结到其他的视图和表,甚至能添加和更新数据(添加和更新数据需要一定的限制 )。

重要的是知道视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据。因为他们返回的数据是从其他表中查询而来。再添加和更改这些表中的数据后,视图将会返回改变过的数据。

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

视图的规则和限制

1、与表一样视图必须唯一命名。(不能给视图取和别的视图或者是表相同的名字)

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

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

4、视图可以嵌套,即可以利用从其他视图中检索数据的查询来构建一视图。

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

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

7、视图可以和表一起使用。例如,编写一条连接视图与表的SELECT语句。

创建视图

查看视图

修改视图

删除视图

原文地址:https://www.cnblogs.com/yhq-qhh/p/10302011.html