• 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
  • 相关阅读:
    postMessage,addEventListener, 前端跨域请求之js代码解析
    zookeeper mac安装
    Mac桌面上的文件消失,Finder中可以访问到
    IO多路转接之select和poll
    利用yolov5进行目标检测,并将检测到的目标裁剪出来
    Linux 启动流程及相关知识
    长难句5.15
    一步步教你如何搭建家政小程序+家政管理系统
    面试突击72:输入URL之后会执行什么流程?
    笔试强训(三十九)
  • 原文地址:https://blog.csdn.net/qq_52751442/article/details/126851883