什么是视图呢?
视图是虚表,所以不储存视图对应的数据,数据仍然存在在原来的基本表。so 视图会随着基本表的更新而自动更新哟。
创建视图
create view 视图名[(属性列名1,属性列名2)] as 子查询 [with check option]
注:with check option 对视图进行操作时需要满足 视图定义时子查询的条件表达式
以下几种情况属性列名不能够省略
1、select 语句中包含聚集函数或表达式
2、多表连接时,不同的表存在同名
例: 建立一个视图,使其包含计算机专业的读者信息
create view reader_cp
as select *from reader
where respecialty='CP'
with check option (以后对该视图进行修改的时候,专业只能够是 计算机 )
删除视图 drop view 视图名 [cascade]
cascade 关联删除 相关的视图一并删除
例:删除 reader_cp 视图
drop view reader_cp
查询视图
查询计算机专业年龄 小于19岁的读者信息
select *
from reader_cp
where rage<19
注:1、不能够使用 order by
2、视图可以和基本表进行连接
更新视图
如果视图可更新 需满足一下条件: 视图的每一行需对应基本表中的一行,视图中的一列需对应基本表中的一列
插入数据
insert into reader_cp
values ('201417689','李润泽',‘男’,20);
修改数据
例 :将读者编号 201417689 的读者年龄修改 成19岁
update reader_cp
set rage='19'
where rno='201417689'
删除数据
delect from reader_cp
where rno='201417689'