mysql中视图

视图

含义: 虚拟表,和普通表一样使用

一、创建视图

语法:
CREATE view 视图名
AS
查询语句
FROM 表名
WHERE condition

案例:
1.查询姓名中包含a字符的员工名,部门名和工种信息
#创建
create view myv1
as
select last_name,depname,jobtitle
from employees e
join departments d
on e.dep_id = d.dep_id
join jobs j
on j.job_id = e.job_id
#使用
select * from myv1
where last_name like ‘%a%’;

案例2:查询各部门平均工资级别
#创建视图查看每个部门的平均工资
create view myv2
as
select avg(salary) ag,department_id
from employees
group by departmet_id;
#使用视图
select myv2.ag,g.grade_level
from myv2
jion job_grades g
on myv2.ag between g.lowest_sal and g.highest_sal;

二、视图的修改

方式一:
create or replace view 视图名
as
查询语句;
方式二:
alter view 视图名
as
查询语句;

三、删除视图

语法:
drop view 视图名,视图名,…;

四、查看视图

desc myv3;
show create view myv3;

五、视图的更新

案例:
create or replace view myv4
as
select last_name,email,salary12(1+ifnull(commission_pct,0)) ‘annual salary’
from employees;

#1、插入
inert into myv4 values(‘syz’,‘syx@qq.com’,100000);
#2、修改
update myv3 set last_name = ‘张’ where last_name = ‘syx’;
#3、删除
delete from myv3 where last_name = ‘张’;
以下试图不允许更新
分组函数,distinct,group by,having,union或者union all

视图和表对比

视图:create view;只是保存了sql逻辑,增删改查(一般只做查)
表: create table;保存了数据,增删改查

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值