视图的好处:
1、信息安全,改动不涉及到原数据
2、权限问题,没有某些表的修改权限
创建视图
create view view_name as
select *
from table_name
更新和删除视图
# 删除视图
drop view view_name
# 更新视图
create view or replace view_name as
select *
from table_name
可更新的视图
# 视图内不含distinct
# 视图内不含任何聚合函数:sum、max、min
# 视图内不含group by /having
# 视图内不含union
# 那么该视图可以更新,可使用idelete、update、
insert
# delete
delete from view_name
where conditon
# update
update view_name
set 更新信息
where condition
# insert
insert into view_name
values( insert内容)
with check option
可以防止修改view时,view的筛选条件导致某行被删除!
# 以column1-column2 >10为条件创建view
create view view_name as
select *
from table_name
where column1-column2 > 10
# 对column3=1进行更新信息:column1 =column2
# 更新后column3 = 1的行将被删出view
update view_name
set column1 =column2
where column3=1
# 为防止这种情况发生
# 在创建view最后加上 with check option,随后的变动将不会删除view中的行
create view view_name as
select *
from table_name
where column1-column2 > 10
with check option
视图的调用
# 创建完视图后,视图和table一样 ,调用方法同table
select *
from view_name