视图view
一、概述
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。 就是提取一张或者多张表的数据生成一个映射,操作视图可以达到操作原表的效果,方便数据的管理以及安全操作。
视图的作用:
1.隐藏表中的重要数据
2.代替一些比较长的sql语句
视图分为俩类:
简单视图:
视图所代表的sql中如果没有group by语句,没有组函数,查询的只有一张表,那么这样的视图就是简单视图.
复杂视图
视图所代表的sql中如果有group by语句,或者有组函数,或者查询的是多张表,那么这样的视图就是复杂视图.
简单视图和复杂视图的区别:
通过简单视图可以修改原来表中的数据,通过复杂视图是不能修改原来的数据的。
二、视图实例
创建视图的格式:
create or replace view 视图名字
as
sql语句
删除视图的格式
drop view 视图名字;
测试表:
create table t_user(
id number constraint user_id_pk primary key,
name varchar2(100),
salary number
);
drop table t_user;
插入数据:
insert into t_user(id,name,salary)
select id,last_name,salary
from s_emp;
//创建视图
create or replace view v_test
as
select *
from t_user
where id > 10;
//查看视图内容
select *
from v_test;
//可以通过简单视图对原来的表进行数据的删除/更新/插入
delete from v_test where id=16;
update v_test set name = ‘zhangsan’ where id = 20;
insert into v_test(id,name,salary) values(28,‘tom1’,3000);
如下图所示,我们对视图进行插入操作,但是能够在原表中查询到插入的结果