介绍
视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。通过视图,可以展现基表的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。基表:用来创建视图的表叫做基表base table
为什么使用视图
1、简化复杂的sql操作。在编写查询后,可以很方便的重用他,而不必知道他的基本查询细节。
2、使用表的组成部分而不是整个表。
3、保护数据。可以给用户授予表的特定部分的访问权限。
4、更改数据的格式和表示。视图可返回与底层表的表示与格式不同的数据。
在视图创建了之后,可以用与表基本相同的方式利用它。可以对视图进行SELECT操作,过滤与排序数据,将视图联结到其他的视图和表,甚至能添加和更新数据(添加和更新数据需要一定的限制 )。
重要的是知道视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据。因为他们返回的数据是从其他表中查询而来。再添加和更改这些表中的数据后,视图将会返回改变过的数据。
性能注意:因为视图不包含数据,所以每次使用它时,都必须处理查询执行时所需的任一个检索。如果你用多个联结和过滤创建了复杂的视图或者嵌套了视图,可能会发现性能下降的很厉害。因此在部署大量的视图应用之前,需要对视图的性能做测试。
视图的规则和限制
1、与表一样视图必须唯一命名。(不能给视图取和别的视图或者是表相同的名字)
2、对于可以创建的视图个数是没有限制的。
3、为了创建视图,必须有足够的权限,这些权限是有数据库管理员授予的。
4、视图可以嵌套,即可以利用从其他视图中检索数据的查询来构建一视图。
5、ORDER BY可以使用在视图上,但是如果从该视图中检索数据的SELECT中如果也包含ORDER BY 语句,则视图中的ORDER 将会被覆盖。
6、视图不能过索引,也不能有关联的触发器或默认值。
7、视图可以和表一起使用。例如,编写一条连接视图与表的SELECT语句。
创建视图
查看视图
修改视图
删除视图