视图¶
为什么需要视图¶
假设我们现在想要获取这样的一个结果:
我想查询 员工编号, 员工姓名, 员工的经理编号, 经理的姓名
显示结果如下:
要想得到这样一个结果,我们需要编写的语句是这样的:
1 2 3 |
|
我们可以看到,这样一条语句非常的复杂,而且很长, 试想一下,假设我们要在很多地方都要用到它, 我们能不能对它进行封装呢? 😊
这里我们就可以考虑🤔使用视图啦!
视图介绍¶
- 视图其实就是将一条复杂的SQL查询语句封装成一张虚表!
- 视图本身不存储任何数据,所有的数据都存放在原来的表中, 可以把视图看做是逻辑上的一张表
- 当原始表中的数据,发生改变的时候, 视图查询出来的结果也会跟着发生变化
例如: 我们可以将上面复杂的查询语句,封装成一个名称为: v_test 的视图.
假设现在我还想得到上面的结果,那么我只需要从视图中查询就好啦!
1 2 |
|
好啦! 关于视图,我们就先简单介绍到这里啦! 下面我们来介绍如何使用视图
创建视图¶
我们首先给大家介绍一下视图创建的语法,它有点类似我们之前创建数据库或者创建表的语法:
1 |
|
在这里我们需要注意:
- 视图中的字段名称不能有重复的喔!
- 视图的名称最好以 v_ 开头
例如我们创建一个上面的视图:
1 2 3 4 5 |
|
这样,我们就创建好啦一个视图啦!
查看视图¶
我们如何去查看我们这个数据库中有哪些视图呢?
这里给大家介绍一条命令!
1 |
|
使用视图¶
我们已经创建了v_test,那我们如何去使用它呢?
还记得我们前面所介绍的吗? 视图其实是一张虚表, 我们可以和查看表一样来查看视图
1 |
|
根据条件查询
1 |
|
试一试: 我们尝试修改原始表,来查看一下视图中的变化!
删除视图¶
这个操作和我们删除数据库和删除表是类似的,我们只需要执行如下命令即可:
1 2 3 |
|
小结¶
- 视图可以将复杂的查询结果,在逻辑上封装成一张虚表
- 我们可以通过
select * from 视图
的方式快速获取到视图的内容 - 视图本身并不存储任何数据,它只是逻辑上是一张表,所有的数据都存放在原来的表中
- 通过视图,我们还能屏蔽真实的表名和一些字段,从而更加安全