前言
视图是从一个或多个表中查询出来的数据保存为视图,是一种虚拟存在的表。
一、创建和删除视图
- 创建视图:
create view myview as select empno,ename from emp;
- 删除视图:
drop view myview;
注意:只有DQL(select)语句才能以视图对象的方式创建出来。
二、对视图进行操作
-
对视图进行增删改查,会影响到原表数据。(通过视图影响原表数据的,不是直接操作的原表)可以对视图进行CRUD操作。
-
数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中。
-
使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。
-
视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在视图中的数据也会发生改变。
例:对视图进行操作
- 创建一个视图:
create view myview1 as select empno,ename,sal from emp_bak;
- 查看创建好的视图:
select * from myview1;
- 通过修改视图中的数据来修改原表中的数据:
update myview1 set ename='hehe',sal=1 where empno = 7369;
- 通过删除视图中的数据来删除原表中的数据:
delete from myview1 where empno = 7369;
三、视图的作用
-
视图可以隐藏表的实现细节。保密级别较高的系统,数据库只对外提供相关的视图,程序员只对视图对象进行CRUD。
-
重复利用SQL语句
-
简化SQL查询,快速取数据
-
更改数据格式,视图可返回与底层表的格式不同的数据表,展现出来。