/*
含义:虚拟表,和普通表一样使用
只保存sql逻辑,不保存查询结果
mysql5.1版本出现的新特性,通过表动态生成的数据。
相当于方法,比较好用。
比如:舞蹈班和普通班级的对比、
视图和表的对比:
创建语句 是否占用物理空间 使用
视图 create view 没有,只是保存了sql逻辑 增删改查,一般不能增删改
表 create table 占用,保存了实际数据 正常增删改查
*/
#一、创建视图
/*
语法:
reate view 视图名
as
查询语句;
(套娃)
优点:
1、重用sql
2、简化复杂的操作
3、保护数据提高安全性
*/
#二、视图的修改
#方式一:
/*
语法:
create or replace view 视图名
as
查询语句;
*/
select * from myv3
create or replace view myv3
as
select avg(salary), job_id
from employees
group by job_id;
#方式二
/*
语法:
alter view 视图名
as
查询语句;
*/
alter view myv3
as
select * from employees;
#三、删除视图
/*
语法:
drop view 视图名,视图名…;
*/
drop view myv1,myv2;
#四、查看视图(结构)
/*
语法:
desc myv3;
show create view myv3;
*/
#五、视图的更新(面试会考)p31
/*
语法:
drop vie w 视图名,视图名…;
特点:
1、具备以下特点点的视图是不能更新的:
• 包含以下关键字的sql语句:分组函数、distinct、group by 、having、union或者union all
• 常量视图 select 'join' name;
• Select中包含子查询
• join
• from一个不能更新的视图(套娃的套娃)
• where子句的子查询引用了from子句中的表
*/