mysql视图的学习
目录
- 创建视图
- 视图的修改
- 删除视图
- 查看视图结构
- 视图的更新
- 测试题
视图含义: 虚拟表,和普通表一样使用,但视图是动态生成的,只保存了sql逻辑,不保存查询结果
应用场景:
1、 多个地方用到同样的查询结果
2、 该查询结果使用的sql语句较复杂
mysql5.1版本出现的新特性,是通过表动态生成的数据
例如:
舞蹈班和普通版,舞蹈班是从普通班选出一部分人组成的一个临时舞蹈班,当有需要时,就使用这个舞蹈班,否则就不用这个舞蹈班
优点:
1、 重用sql语句
2、 简化复杂的sql 操作,不必知道它的查询细节
3、 保护数据,提高安全性
区别 | 创建语法的关键字 | 是否实际占有物理空间 | 使用 |
---|---|---|---|
视图 | create view | 只是保存了sql逻辑 | 增删改查,只是一般不使用增删改 |
表 | create table | 保存了数据 | 增删改查 |
案例:查询姓张的学生名和专业名
以前方法:
select stuname,majorname
from stuinfo s inner join major j on s.majorid=j.id
where stuname like '张%';
创建视图:
create view v1 as select stuname,majorname from stuinfo s inner join major j on s.majorid=j.id;
select * from v1 where stuname like '张%';
一、创建视图
语法:
create view 视图名
as
查询语句;
案例:查询姓名中包含a字符的员工名、部门名和工种信息
#1、创建
create view v1
as
select last_name,department_name,job_title from employees e
inner join departements d on e.department_id=d.department_id
inner join jobs j on e.job_id=j.job_id ;
#2、使用
select * from v1 where where last_name like '%a%';
案例:查询各部门的平均工资级别
#1、创建