一、视图的概念及作用
1、什么是视图?
视图(view)是一种虚拟存在的表(亦叫虚表),是一个逻辑表,本身并不包含数据。
基表:用来创建视图的表叫做基表base table。
视图的诸多优点:
1)简单,使用视图的用户完全不需要关心对应基表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
2)安全,使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
3)数据独立,一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,基表增加列对视图没有影响;基表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
总而言之,使用视图的大部分情况是为了保障数据安全性。
二、视图管理
1、视图的创建
create view <视图名称> [(column_list)]
as
select语句;
例子:
create view vT(a,b,c)
as
select sNo,sName,sPassword from students;
2、查看视图
desc 视图名;
3、修改视图
A、alter操作的前提是指定数据库对象已存在
alter view vTest
as
select sNo,sName from Students;
B、create or replace操作
create or replace:无论视图是否存在,均可进行操作——如果不存在,则进行创建操作;如果存在,则进行修改操作
create or replace view vT(a,b)
as
select sNo,sName from students;
4、删除视图
语法:drop view 视图名[,视图名,…]
示例:
drop view vT;
drop view vT,vTest;
三、嵌套视图
定义在另一个视图的上面的视图;视图的结构除了可以来自基表外,还可来自其他试图