码迷,mamicode.com
首页 > 数据库 > 详细

MySQL视图

时间:2017-07-07 22:38:01      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:条件   访问者   count   包含   group   union   max   sum   font   

使用视图的优势(P171)

  • 简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
  • 安全:使用视图的用户只能访问他们被允许查询的结果,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
  • 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响,源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

 

MySQL视图的定义有一些限制,例如,在FROM关键字后面不能包含子查询,这和其他数据库是不同的,如果视图是从其他数据库迁移过来的,那么可能需要因此做一些改动,可以将子查询的内容先定义成一个视图,然后对该视图再创建视图就可以实现类似的功能了。

视图的可更新性和视图中查询的定义有关系,以下类型的视图是不可更新的:

  • 包含以下关键字的SQL语句:聚合函数(SUM、MIN、MAX、COUNT等)、DISTINCT、GROUP BY、HAVING、UNION、UNION ALL。
  • 常量视图
  • SELECT中包含子查询
  • JION
  • FROM一个不能更新的视图
  • WHERE子句的子查询引用了FROM子句中的表

WITH [CASCADED | LOCAL] CHECK OPTION决定了是否允许更新数据使记录不再满足视图的条件,其中:

  • LOCAL只要满足本视图的条件就可以更新
  • CASCADED则必须满足所有针对该视图的所有视图的条件才可以更新

默认是CASCADED。

MySQL视图

标签:条件   访问者   count   包含   group   union   max   sum   font   

原文地址:http://www.cnblogs.com/ITStruggler/p/7134240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!