Mysql视图讲解

概念

什么是视图?
其实视图就是相当于一个虚拟表,它并不是真实存在数据的一张数据表,而是作为一个查询语句保存在数据库中的

作用

视图可以帮助我们在使用大量重复编写sql的时候可以使用视图来代替,比如编程中封装一个方法来让多个地方都可以直接调用,降低了开发成本,而且相对来说更加安全

语法

单表

首先我们需要创建一个视图

CREATE VIEW emp AS SELECT * FROM employees;

上面这行sql代表我们创建了一个名字叫emp的视图
那么我们怎么使用这个视图呢?
很简单!只需要和普通查询一样即可:

SELECT * FROM emp;

多表关联

那么我们来演示一下关联查询,其实和之前我们写普通的关联查询没啥区别:

CREATE VIEW emp2 AS 
	SELECT d.*, e.last_name as `name`, e.salary as salary 
	FROM employees e LEFT JOIN departments d
	ON e.department_id = d.department_id;

然后使用也是一样的:

SELECT * from emp2;

条件查询

那么我们肯定不是简简单单的查询一下表中的全部数据而已,我们肯定是需要去查询某一些特定条件该怎么办呢?
比如我们之前使用的条件查询为:

SELECT * FROM employees e WHERE e.salary = 7000;  // 原使用普通sql语法

那么怎么去根据条件查询视图中的数据呢? 其实一模一样!!!

SELECT * from emp2 e WHERE e.salary = 7000;

修改视图的查询语句

那么修改视图我们可以使用CREATE OR REPLACE或者ALTER
直接安排:

CREATE OR REPLACE

这个关键字使用可以修改视图,如果该视图不存在,则创建!而我们上面写的创建视图的CREATE VIEW则是不存在就创建,存在则报错!

CREATE OR REPLACE VIEW emp2 AS SELECT * FROM employees;
ALTER

而使用ALTER时,如果视图不存在,则会报错!并且一般使用ALTER来更新字段使用

ALTER VIEW emp2 AS SELECT * FROM departments;

总结

视图的使用语法其实和平常我们写sql并没有太大区别,但是视图可以帮助我们减少复杂且重复的sql语句编写,更方便管理,同时视图也可以进行对基表的插入更新等操作,但是我们不建议这样使用,一般我们只用来查询操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值