mysql数据库(9)--视图

1、什么是视图?

视图是一种虚拟存在的表格,行和列的数据在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果。(可以实现sql语句的复用)

 1 # 查询姓张的学生名和专业名
 2 
 3 # 创建视图
 4 create view v1
 5 as
 6 select stuname, majorname
 7 from stuinfo as a
 8 inner join major as m 
 9 on s. majorid = m.id
10 
11 # 视图的使用
12 select * from v1 where stuname like '张%'

2、应用场景

  • 多个地方用到同样的查询结果
  • 该查询结果使用的sql语句比较复杂

3、视图的创建

1 create view 视图名
2 as
3 查询语句

4、视图的修改

方式一

1 create or replace view 视图名称
2 as
3 查询语句

方式二

1 alter view 视图名
2 as
3 查询语句

5、视图的删除

1 drop view 视图名,视图名,...

6、查看视图

1 desc 视图名   # 方式一
2 
3 show create view 视图名    # 方式二

7、视图的更新

视图进行增删改操作之后,原始表中的数据也会相应的发生改变,但是具备以下特点的视图,不能进行更新

(1)包含分组函数 

(2)常量视图

(3)包含子查询

(4)包含join语句

(5)from一个不能更新的视图

(6)where子句的子查询引用了from子句中的表

1 select last_name, email, salary
2 from employee
3 where employee_id in(
4     select manager_id
5     from employee
6     where manager_id is not null
7 )

8、视图的优点

(1)重用sql语句

(2)简化复杂的sql操作,不需要知道查询细节

(3)保护数据,提高安全性

posted on 2021-07-20 22:12  jyf上善若水  阅读(73)  评论(0编辑  收藏  举报