视图概述

2、视图

  2.1、视图(view):

    view:站在不同的角度去看同一份数据

  2.2、创建和删除视图对象?

     表复制: create table dept2 as select * from dept;

    创建视图对象:create view dept2_view as select * from dept2;

    删除视图对象:drop view dept2_view;

    注意:只有DQL豫剧才能以view的形式创建

      create vie view_name as 这里的语句必须是DQL语句;

  2.3、视图的用途

    我们可以面向视图对象进行增删改查,对视图对象的增删改查,会导致原表数据被操作

    //面向视图查询

    select * from dept2_view;

    //面向视图插入

    insert into dept2_view(deptno,dname,loc)  values(60,'SALES','BEIJING');

    //查询原表数据

    select * from dept2;

    视图概述

 

    //面向视图删除

    delete from dept2_view;

    //查询原表数据

     select * from dept2;

    

    案例:

      //面向视图对象

        create view emp_dept_view

       as

        select e.ename,e.sal,d.dname from  emp e join dept d on e.deptno = d.deptno; 

      //查询视图对象

        select * from emp_dept_view;

      //面向视图更新

      update emp_dept_view set sal = 1000 where dname = 'ACCOUNTING';

      //原表数据被更改

  2.4、视图对象在实际开发作用

    假设有一条非常复杂的SQL语句,而这条SQL语句需要在不同的位置上反复使用

    每一次使用这个SQL语句的时候都需要重新编写,很长,

    可以把这条负责的SQL语句以视图对象的形式新建。  

    在需要编写这条SQL语句的位置直接使用视图对象,可以大大简化开发。

    并且有利于后期的维护,因为修改的时候也只需要修改一个位置就行,只需要修改视图对象所映射的SQL语句

 

    面向视图开发的时候,使用视图的时候可以像使用table一样,可以对视图进行增删改查等操作。视图不是在内存中,视图对象也是存储在硬盘上,不会消失

    注意:视图对应的语句只能是DQL语句

      但视图对象创建完成后,可以进行增删改查等操作(CRUD)

上一篇:五年Android,靠着这份资料,我从无名小厂成功跳槽字节


下一篇:蜻蜓fm面试