-
什么是视图?
视图,虚拟表,从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据。视图中,用户可以使用select语句查询数据,也可以使用INSERT、UPDATE、DELETE修改记录,视图可以使用户操作方便,并保障数据库系统安全。 -
视图的优点和缺点
- 优点
(1)简单化,数据所见即所得
(2)安全性,用户只能查询或修改他们所能见得到的数据
(3)逻辑独立性,可以屏蔽真实表结构变化带来的影响 - 缺点
(1)性能相对较差,简单的查询也会变得稍显复杂
(2)修改不方便,特别是复杂的聚合视图基本无法修改
- 优点
-
创建、使用视图
//语法:
create view 视图名 as 查询源表语句;
//创建:
create view 视图名 as select 列名1,列名2,... from 原表名;
//使用:
select * from 视图名 where 条件;
注意:如果视图包含以下结构中的任何一种,则该视图不可更新;
聚合函数:DISTINCT 、GROUP BY、HAVING、UNION、UNION ALL
FROM字句中的不可更新的多个表、WHERE字句中的子查询,引用FROM子句中的表
- 视图的修改
//方式一:
create or replace view 视图名 as 查询语句;
如:select * from myv3 create or replace view myv3
as
select avg(salary),job_id from employees group by job_id;
//方式二:
/*
alter view 视图名 as 查询语句;
*/
alter view myv3
as
select * from employees;