• 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
  • 相关阅读:
    PyQt5 | 手把手教你YOLOv5添加PyQt页面 | 3/3
    优化Scrum敏捷需求管理流程,敏捷需求如何管理。
    【力扣 Hot100 | 第六天】4.21(字母异位词分组)
    【MATLAB】布朗运动动画仿真
    K8S原来如此简单(八)ServiceAccount+RBAC
    【MySQL高级篇】一文带你吃透数据库和表的操作之DDL|实战案例详解
    k8s Limits 限制内存
    各种 sql 语句
    学校排课老师的福音:短短几分钟轻松完成学校排课任务
    人工智能-线性回归2--房价预测、欠拟合过拟合、正则化、模型保存加载
  • 原文地址:https://blog.csdn.net/qq_52751442/article/details/126851883