• 视图


    • 含义:虚拟的表,和普通表一样使用。是通过普通表动态生成的数据。只保存sql逻辑,不保存查询结果。
    • 应用场景:
    1. 多个地方用到同样的查询结果
    2. 该查询结果使用的sql语句较复杂

    一、视图的创建

    语法:

    create view 视图名
    as
    查询语句
    

    例1:查询姓名中包含a字符的员工名、部门名和工种信息

    1.创建
    create view myv1
    as
    select last_name,department_name,job_title
    from employees e
    join departments d on e.department_id = d.department_id
    join jobs j on j.job_id = e.job_id;
    
    2.使用
    select * from myv2 where last_name like '%a%;'
    

    二、视图的好处

    1. 重用sql语句
    2. 简化复杂的sql操作,不必知道它的查询细节
    3. 保护数据,提高安全性

    三、视图的修改

    方式一:

    create or replace view 视图名
    as
    查询语句
    

    方式二:

    alter view 视图名
    as 
    查询语句
    

    四、视图的删除

    语法:
    drop view 视图名,视图名,...;

    五、视图的查看

    1. desc 视图名;
    2. show create view 视图名;

    六、视图的更新

    视图的更新与表的更新相同,但对其进行的修改相当于在原表上进行修改
    具备以下特点的视图不允许更新:

    1. 包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all
    2. 常量视图
    3. select中包含子查询
    4. join:可以修改但不能插入
    5. from一个不能更新的视图
    6. where子句的子查询引用了from子句中的表

    视图和表的比较

    1. 视图不实际占用物理空间(只保存了sql逻辑),表占用实际物理空间
    2. 视图一般不修改
  • 相关阅读:
    二进制回复操作
    日志和备份介绍
    mraiadb查
    mraiadb增三删改
    mardb基本操作
    redis搭建主从和多主
    ldd 查看符号找不到
    一个声明指定了多个类型
    word中为选定文本加边框和底纹
    ue配置lua语法高亮
  • 原文地址:https://www.cnblogs.com/ylcc-zyq/p/13139366.html
Copyright © 2020-2023  润新知