一、基本概念
1、怎么理解视图
- 视图是一个或多个数据表中的数据的逻辑显示,它是一个
虚拟表
,视图本身并不存储数据 视图建立在已有表的基础上
,它所依赖的表称为基表
- 视图的创建和删除只影响视图本身,不影响基表,但是视图中
数据
的增删改操作
,会影响到基表中的数据 - 向视图提供数据内容的语句为select语句,可以将视图理解为将某个select语句的查询结果存储起来了,并且我们还能通过对视图进行增删改操作来影响基表中的数据
- 在大型项目或者数据比较复杂的情况下,使用视图可以把我们经常查询的字段存储到虚拟表中,大大提高了查询效率
2、为什么使用视图
- 视图一方面可以帮我们使用表的一部分,而不是整个表
- 另外我们可以针对不同级别的用户制定不同的查询视图。比如员工信息表中,某些级别比较低的员工,就看不到薪资和员工评级等敏感信息,这个时候就需要使用视图来完成这个操作了
3、视图的优点与缺点
- 优点:
- 简化操作:某些经常使用的查询操作可以定义为视图,业务只需要对视图进行操作即可
- 减少数据冗余:视图本身并不存储数据,它是一个
虚拟表
,不占用存储数据的资源 - 数据安全:可以让不同权限的用户看见不同的结果集
- 能够分解复杂的逻辑:将复杂的问题进行拆解,变成一个个视图,然后在这些视图的基础上进行整合
- 缺点:
- 视图维护比较麻烦
- 如果是嵌套视图,可读性比较差
二、视图的创建与查看
1、如何创建视图
CREATE VIEW 视图名称
AS
SELECT查询语句;
1)单表查询如何创建视图
情况一:视图中的字段与基表的字段有对应关系,假设我们要从员工表中查询某些字段作为视图
# 查询语句中的字段别名,会作为视图中的字段进行展示
CREATE VIEW vu_emp
AS
SELECT employee_id emp_id,last_name lname,salary
FROM t_employee;
# 小括号内的字段个数与SELECT中字段个数相同,小括号内的别名作为视图展示字段