MySQL-视图

1. 什么是视图

一张虚拟的表,从一个或多个表中查询出的数据集

2.视图的作用

一)简化SQL语句

二)安全,权限控制管理【对真实表关闭权限,但开放视图的权限】

三)在不影响真实表的情况下,满足更多灵活的需求

3.视图语法

一)创建

CREATE
    [OR REPLACE]
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

注意:

ALGORITHM表示视图选择的算法(可选参数)

UNDEFINED:MySQL将自动选择所要使用的算法
MERGE:将视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分
TEMPTABLE:将视图的结果存入临时表,然后使用临时表执行语句

属性清单表示视图中的列名,默认与SELECT查询结果中的列名相同(可选参数)

WITH CHECK OPTION表示更新视图时要保证在该试图的权限范围之内(可选参数)

CASCADED:更新视图时要满足所有相关视图和表的条件

LOCAL:更新视图时,要满足该视图本身定义的条件即可

tips:创建试图时最好加上WITH CASCADED CHECK OPTION参数,这种方式比较严格,可以保证数据的安全性

)修改

one:

CREATE OR REPLACE
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]
two:
ALTER
    [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    [DEFINER = { user | CURRENT_USER }]
    [SQL SECURITY { DEFINER | INVOKER }]
    VIEW view_name [(column_list)]
    AS select_statement
    [WITH [CASCADED | LOCAL] CHECK OPTION]

)删除

     DROP VIEW view_name 

4.视图小结







参考链接:http://dev.mysql.com/doc/refman/5.7/en/create-view

              http://www.cnblogs.com/wangtao_20/archive/2011/02/24/1964276.html

               http://www.cnblogs.com/zzwlovegfj/archive/2012/06/23/2559596.html

               http://www.jb51.net/article/36363.htm


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值