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

Mysql视图

时间:2017-07-25 00:51:24      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:没有   algorithm   ima   sql视图   efi   系统   let   sdn   str   

1.介绍

  视图跟表有很多相似的特定,可以对进行视图读操作,特定的情况下也可以对视图指向的数据进行insert,delete,update。但是视图和表不同的是视图并不是真正的存放数据,视图是一张虚拟的表,可以把不同的表关联起来,能够提高SQL语句的复用性和安全性。

2.语法

  CREATE  [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]  VIEW  view_name  [(属性列表)]  

    AS  SELECT  [columns]  FROM  [WITH [CASCADED | LOCAL] CHECK OPTION]

  其中可选参数ALGORITHM有三种,分别为UNDEFINED,MERGE,TEMPTABLE。

    (1)UNDEFINED:Mysql将自动选择算法

    (2)MERGE:先将视图中的SELECT语句和外部SELECT VIEW ... 的SELECT进行合并然后再查询,系统默认值

    (3)TEMPTABLE:先执行视图内部的SELECT语句,然后再执行SELECT VIEW ... 中的SELECT语句

  属性列表表示查询结果返回的列名称,可选参数,默认和表的列名一致

  WITH [CASCADED | LOCAL] CHECK OPTION 可选参数,CASCADED表示更新视图时要满足所有视图的条件,而LOCAL表示满足本身定义条件即可

3.实例

  (1)创建视图时没有使用WITH CHECK OPTION

  技术分享

  技术分享

   技术分享

  可以看出,可以随意地update 或者 insert 记录,不需要满足name like ‘%c‘条件

  (2)增加了WITH CHECK OPTION

  技术分享

  这时候如果要对book_view进行update或者insert就要满足name LIKE ‘%s%‘

  (3)WITH CASCADED CHEKC OPTION 和 WITH LOCAL CHECK OPTION的区别

  技术分享

  LOCAL只检查本视图的条件,而CASCADED会检查所有视图的条件

4.参考资料

  WITH CHECK OPTION : http://blog.csdn.net/xinyuan_java/article/details/51424651

Mysql视图

标签:没有   algorithm   ima   sql视图   efi   系统   let   sdn   str   

原文地址:http://www.cnblogs.com/uptowncat/p/7231613.html

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