• 视图


    视图
    含义:虚拟表,和普通表一样使用
    mysql5.1版本出现的新特性,是通过表动态生成的数据
    视图是一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时
    动态生成的,只保存sql逻辑,不保存查询结果。
    优点:
      简单化
      安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列
      数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加对视图没有影响;
      源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
    缺点:
      性能相对较差,简单的查询也会变得稍显复杂
      修改不方便,特别是复杂的聚合视图基本无法修改
      总的来说还是不建议使用视图
    视图与表的对比
          创建语法的关键字      是否实际占用物理空间    使用
    视图        create view        只是保存了sql逻辑         增删改查,一般不能增删改查
    表      create table        保存了数据          增删改查
    应用场景:
    -多个地方用到同样的查询结果
    -该查询结果使用的sql语句比较复杂

    create view v1
    as
    select stuname,majorname
    from stuinfo s
    inner join major m on s.majorid=m.id;
    
    select * from v1 where stuname like '张%';
    View Code

    一、创建视图

    use myemployees;
    #1.查询邮箱中包含a字符的员工名、部门名和工种信息
    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.查询各部门的平均工资级别
    create view myv2
    as 
    select avg(salary) ag,department_id
    from employees
    group by department_id;
    #使用
    select myv2.ag,g.grade_level
    from myv2
    join job_grades g
    on myv2.ag between g.lowest_sal and g.highest_sal;
    
    #3.查询平均工资最低的部门信息
    create view myv3
    as 
    select * from myv2 order by limit1;
    View Code

    二、视图的修改

    方式一:
        alter view 视图名
        as
        查询语句
    alter view myv3
    as
        select * from employees;
    方式二:
    create or replace view myv3
    as
        select avg(salary),job_id
    from employees
    group by job_id;
    View Code

    三、视图的删除

    drop view myv1,myv2;
    View Code

    四、视图的查看

    desc myv3;
    show create view myv3;
    View Code

    五、视图的更新

    视图一般不更新

  • 相关阅读:
    nuc970连接jlink进行单步调试的设置
    alsa utils工具使用
    用arm-linux-gcc v4.3.4交叉编译Qt4.8.3
    LNMP分离式部署
    MHA(下)
    MHA(上)
    PXE自动装机
    JumpServer
    FTP
    DNS
  • 原文地址:https://www.cnblogs.com/xufengnian/p/11871472.html
Copyright © 2020-2023  润新知