Mysql——视图

一、视图简介
 Mysql从5.0.1版本开始提供视图功能。视图是一种虚拟存在的表,其中的数据来自定义视图时的查询语句的查询结果,因此视图中的数据是动态变化的。视图可以看做给查询语句起了一个别名,视图只是保存了SQL的逻辑,并不会保存查询结果。视图完全可以当做一个子查询来使用(子查询是可以作为临时表进行查询和连接等操作的),使用视图最大的好处是简化了SQL的编写。视图一般用来封装经常使用的复杂的查询语句,我们可以将经常查询的多个表的字段封装到一个视图中,之后只需要使用这个视图查询这些数据就可以了。视图还有一个好处就是保护数据,提高安全性,比如说:公司中某些表的某些字段值是保密的,但是这个表又必须提供给外包开发人员使用,这个时候就可以给外包提供一个视图,在视图中给他们提供必要的字段值即可。

二、视图的创建、修改和删除
 1、创建视图
  格式:CREATE VIEW 视图名 AS 查询语句;
  示例:

CREATE VIEW name_d_j AS 
SELECT last_name,department_name,job_title
FROM employees e
JOIN departments d ON e.department_id = d.department_id
JOIN jobs j ON e.job_id = j.job_id;

 2、修改视图

#方式一
CREATE OR REPLACE VIEW 视图名 AS 查询语句;
#方式二
ALTER VIEW 视图名 AS 查询语句;

 3、删除视图

DROP VIEW 视图1, 视图2 ,...;

 4、查看视图

#查看视图的结构
DESC 视图名;

#查看视图的创建过程
SHOW CREATE VIEW 视图名;

三、视图的使用
 视图一般是用于查询的,相当于给一个子查询起了个别名,完全可以作为一个子查询使用。但也可以利用视图进行增(INSERT)、删(DELETE)、改(UPDATE)的操作,但不是所有的视图都可以进行增删改,具备以下特点的视图不允许更新操作:
  ①包含分组函数、group by、distinct、having、union
  ②join
  ③常量视图
  ④where后的子查询用到了from中的表
  ⑤用到了不可更新的视图

 示例:myv2是一个视图

SELECT myv2.`ag`,g.grade_level
FROM myv2
JOIN job_grades g ON myv2.`ag` BETWEEN g.`lowest_sal` AND g.`highest_sal`;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值