一、视图概念
视图就是由数据库的一张表或者多张表根据特定的条件查询出的数据构成的虚拟表
二、视图作用
-
安全性:如果我们直接将数据授权给用户操作,那么用户可以CUDR数据库中所有数据,嫁入我们想要对数据表中的部分数据进行保护,可以将公开的数据生成视图,授权用户访问视图,通过查询视图获得公开的数据
-
简单性:我们要查询的数据来自多张表,可以使用多表连接查询来实现,我们用过视图将这些连表查询结果对用户开放,用户则可以对视图进行查询得到所有的数据
三、创建视图
create view view_name
AS
select_statement
实例1
# 创建视图
CREATE VIEW VIEW_1
AS
SELECT * from students where stu_gender='w';
# 查询视图
SELECT * FROM view_1;
四、特性
视图是虚拟表,查询视图的数据是来自数据表的,当对视图进行操作时,对元数据表中的数据的影响
-
查询表
- 如果在数据表中增加了数据,那么这个新的数据也可以在视图中查到,如果删除也会从视图中删除
-
新增数据
- 如果在视图中添加数据,数据也会增加到原表
-
删除数据
- 如果从视图中删除数据,数据也会从原表删除
-
修改数据
- 如果从视图中修改数据,数据也会从原表修改
五、操作建议
对复杂查询简化操作,并且不会对数据进行修改的情况下可以使用视图(增删查改都会修改原表)
六、查询视图结构
desc <viewName>;
七、修改视图
# 方式一,替代
CREATE VIEW VIEW_1 OR REPLACE
AS
SELECT * from students where stu_gender='w';
# 方拾二,使用alter
alter VIEW VIEW_1 OR REPLACE
AS
SELECT * from students where stu_gender='w';
八、删除视图
删除视图不会影响原表的数据
drop view <viewName>;