Mysql笔记(8)【视图】

目录

十八、视图(view)

1)什么是视图

2)创建视图

3)删除视图

4)修改视图

5)面向视图操作

6)视图的作用


十八、视图(view

1)什么是视图

        1.视图在数据库管理系统中也是一个对象,也是以文件形式存在的;

        2.视图也对应了一个查询结果,只是从不同的角度查看数据;

2)创建视图

        1.语法结构:create view 视图名称 as 查询语句;

        2.示例:从emp表中查询empno,ename,sal结果当作视图展示

        Create view myview as select empno,ename,sal from emp;(创建视图)

        Select * from myview;(查看视图)

        

3)删除视图

        1.语法结构:drop view if exists 视图名称;

        2.示例:删除myview视图

        Drop view if exists myview;(删除视图)

        

4)修改视图

        1.语法机构:alter view 视图名称 as 查询语句;

        2.示例:将myview视图修改为empno,ename,sal;

        Alter view myview as select empno,ename,sal from emp;(修改视图)

        

结论:对视图进行增删改查,会影响原表数据。(通过视图影响原表数据的,不是直接操作的原表)可以对视图进行CRUD操作;

5)面向视图操作

        emp(原表)

        emp_bak(复制原表emp)

        myview1(复制视图表emp_bak中empno,ename,sal)

1.创建emp表视图

        Create table 视图名称 as 查询表语句;

        示例:创建emp表视图

        Create table emp_bak as select * from emp;

        

2.从视图表emp_bak中创建empno,ename,sal视图

        Create view myview1 as select empno,ename,sal from emp_bak;

        

3.视图myview1中编号为'7369'的姓名和工资修改为'yuan','889';

        Update myview1 set ename='yuan',sal='889' where empno='7369';

        

结论:创建原表的视图,再由原表的视图来形成操作表,这样不会影响原表的数据,进行测试CRUD操作。

6)视图的作用

        1.面向视图查询,可以提高查询效率

        例如:

        a)单独执行:select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno;

        b)将上面执行结果当作视图对象创建

        Create view myview2 as select e.ename,d.dname from emp e join dept d on e.deptno=d.deptno;

        Select * from myview2;

        

结论:视图可以隐藏表的实现细节。保密级别较高的系统,数据库只对外提供相关的视图,java程序员只对视图对象进行CRUD。

2.create view myview3 as select empno a,ename b,sal c from emp;

        

结论:面向视图查询,只知道myview3中有a,b,c三个字段,不知道该字段视图背后真实表结构是什么

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

相得益彰.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值