zoukankan      html  css  js  c++  java
  • mysql 视图

    一, 视图的概念

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

        视图相对于普通的表的优势主要包括以下几项

        1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。

        2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。

        3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

    二,视图操作

       01,创建或者修改视图

           创建视图需要有create view的权限, 并且对于查询涉及的列有select权限. 如果使用create or replace 或者 alter 修改视图

    ,那么需要该试图drop权限

            创建视图语法

    CREATE OR REPLACE|ALGORITHM={UNDEFINED | MERGE | TEMPTABLE}]
    	VIEW view_name [(colum_list)]
    	AS select_statement
    	[WITH [CASCADED | LOCAL ] CHECK OPTION ]
    

            修改视图语法 

    ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
    	VIEW view_name [(colum_list)]
    	AS select_statement
    	WITH [CASCADED | LOCAL | CHECK OPTION]	
    

            操作实例 

    库提前创建好
    
    CREATE OR REPLACE VIEW staff_list_vie AS
    SELECT s.staff_id,s.first_name,s.last_name,a.adress
    FROM staff AS s,address AS a
    WHERE s,address_id = a.address_id
    
  • 相关阅读:
    进入Docker 报错
    Oauth一直无限重定向
    jquery.click() not working in iOS
    IOS 系统 form 表单提交的问题;一直当前页面刷新
    Word 搜索功能显示bug
    百度脑图bug
    微信分享链接添加参数后缩略图不显示如何解决?
    微信分享到朋友圈 QQ空间 代码实现
    文献复现 | The support of human genetic evidence for approved drug indications
    生物医药领域 | 知名投资人 | VC | PE | IBD | 公募 | 私募
  • 原文地址:https://www.cnblogs.com/kingle-study/p/9962781.html
Copyright © 2011-2022 走看看