• MySQL视图


    MySQL视图

    概念:MySQL视图(View)是一种虚拟存在的表,同真实表一样,视图也是列和行组成,但视图并不实际存在于数据库中。行和列的数据来自于定义视图的查询中所使用的表,并且还是在使用视图时动态生成的。

    • 数据库中只存放了视图的定义,并没有存放视图中的数据,这些数据都存放在定义视图查询所引用的表中。使用视图查询数据时,数据库会从真实表中取出对应的数据。因此,视图中的数据是依赖于真实表中数据的。一旦真实表中的数据发生变化,显示在视图中的数据也会发生变化
    作用
    • 简单

      视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以定义为视图,从而使得用户不必为以后的操作每次都指定全部的条件

    • 安全

      数据库可以授权,但不能授权到数据库特定行和特定的列上。通过视图用户只能查询和修改他们能看到的数据

    • 数据独立

      视图可帮助用户屏蔽真实表结构带来的影响

    视图语法
    • 创建视图

      CREATE OR REPLACE VIEW VIEW_NAME AS  SELECT ... FROM TB_NAME ...;
      
      • 1
      • 注意:在创建视图的过程中OR REPLACE是可以不写的,而在视图修改语句中必须添加
    • 查看创建视图语句

      SHOW CREATE VIEW VIEW_NAME;
      
      • 1
    • 查看视图数据

      SELECT ... FROM VIEW_NAME;
      
      • 1
    • 修改视图

      • 修改方式1

        CREATE OR REPLACE VIEW VIEW_NAME AS SELECT ... FROM TB_NAME ...;
        
        • 1
      • 修改方式2

        ALTER VIEW VIEW_NAME AS SELECT ... FROM ...;
        
        • 1
    • 删除视图

      DROP VIEW IF EXISTS VIEW_NAME;
      
      • 1
    小提示

    视图除了可以创建在表之上外还可以创建在其他视图之上

    CREATE VIEW VIEW_NAME AS SELECT ... FROM VIEW_NAME2 ...
    
    • 1
    检查选项
    什么是检查选项?
    • 检查选项就是在对视图数据修改时对数据进行检查,判断符合条件后才可以添加到表中
    检查选项类型
    • CASCADED:递归向下检查,凡是视图创建语句中带有条件的一并进行检查判断是否满足条件

    • LOCAL:递归向下检查,但是只检查视图创建语句中带有CASCADED或LOCAL约束的条件

    • 如果在顶层视图不使用CASCADED或者LOCAL则忽略下层检查选项

    语法
    CREATE VIEW VIEW_NAME AS SELECT ... FROM ... WHERE ... WITH [CASCADED|LOCAL] CHECK OPTION;
    
    • 1
  • 相关阅读:
    ARM32开发——GPIO输入
    获取单笔交易的详细信息,taobao.trade.fullinfo.get
    为Jumpserver 配置企业微信
    Greenplum GPKafka【实践 01】使用GPKafka实现Kafka数据导入Greenplum数据库踩坑问题记录(不断更新ing)
    合并两个有序数组(c#)
    商业化广告--体系学习-- 8 -- 业务实战篇 -- 计价与效果(上):如何制定合理的计价方式?
    Linux安装Rabbitmq
    LeetCode算法心得——和为k的子数组(前缀和+HashMap)
    Go 限流的常见方法
    流畅的Python——序幕
  • 原文地址:https://blog.csdn.net/qq_52751442/article/details/126851883