• 【mysql学习笔记26】视图


    创建视图

    CREATE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];

    查询视图

    查看创建语句

    show create view 视图名;

    查询

    select * from 视图名;

    修改视图

    方式一

    CREATE OR REPLACE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];

    方式二

    ALTER VIEW 视图名(列明列表) AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];

    删除视图

    DROP VIEW [IF EXISTS] 视图名;

    插入

    对视图进行插入会插入原表中

    检查选项

    当使用WITH CHECK OPTION子句创建视图时,MySQL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项:CASCADED和LOCAL,默认值为CASCADED。
    无with check option时,是不需要满足当前视图的条件的。并且对于底部视图(即该视图针对的视图),先判断底部视图是否有with check option语句,有的话,按照其规则(local或者cascaded)处理,没有的话则不需要满足底部视图的条件。
    with local check option时,需要满足当前视图的条件。对于底部视图,也是先看是否有指定的with check option语句,有的话对应处理,无则不需要满足底部视图的条件。
    with cascaded check option(cascaded可以省略)时,需要满足当前视图的条件。并且对于所有底部视图的条件,也需要一并满足,哪怕底部视图没有定义with check option语句。

    更新

    要使得视图可更新,那么视图的列必须和原表的列一一对应

  • 相关阅读:
    HyperLynx(六)参数扫描仿真
    [极致用户体验] 我做的《联机五子棋》是如何追求极致用户体验的?(上)
    深入Vue原理_全面剖析发布订阅模式
    JAVA【泛型】详解
    【低码】asp.net core 实体类可生产 CRUD 后台管理界面
    Linux(常用命令)
    文件分片上传和断点续传
    Flink之状态TTL机制
    JDK自带JVM分析工具
    基于PHP的网上订餐平台系统VUE【源码论文】
  • 原文地址:https://blog.csdn.net/qq_31618549/article/details/125501982