之前介绍了
- 数据库基本常识的简介及mysql安装
- 结构化查询语言sql
- 数据库表介绍
- 数据库的数据类型
- 数据操作语言DML——数据的增删改查
- 数据库对象操作语言DDL——修改、删除数据库表等对象
- 数据库的完整性约束
- 数据库查询语言——DQL
- 数据库中的函数
- 数据库的group by分组和having筛选
- select语句总结(DQL)
- 数据库的多表查询
- 数据库的自连接查询
- 数据库的92语法和99语法的区别
- 数据库的子查询
- 数据库中的事务
接下来说一下数据库中的视图。
视图的概念:视图(view)是一个从单张表或多张表或其他视图中构建出来的虚拟表。也就是说,这个表是一个确切但存在的表。但是数据库中只存放对应的sql语句,并不存放视图中的数据。换句话说,视图就是数据库表的一层面纱,我们可以直接获取我们想要的部分。其本质就是一个查询的语句,是一个虚拟的表,是不存在的表。查看视图其实就是查看视图对应的sql语句执行的结果。
视图的好处:
- 简化用户的操作,视图可以使用户将注意力集中在数据上,而不需要关心表的结构、表之间的关联以及查询条件等。
- 可以对机密数据进行保护,一些机密数据,我们可以在视图的时候过滤掉。
视图的创建:
- 一般创建:create view 视图名 as 需要的查询语句;
- 例如,创建一个视图,基于emp表,只查询empno,ename,job,deptno这些字段,然后条件是deptno=20,那么需要执行的sql语句是:create view deptno20 as select empno,ename,job,deptno from emp where deptno=20;,这里我将视图名定义为deptno20。
- 视图存在就替换:create or replace view 视图名 as 需要的查询语句;
- 句 with check option;
- 创建基于视图的视图:create view 视图名 as select 需要的字段 from 基于的视图[ where 条件];,也就是说再加一层面纱。
查看视图:select * from 视图名;,其实这里视图就是一张表,但是这张表就是一个sql语句。我们在查看这个视图的时候,也可以再嵌套条件。
- 例如,我们查看上面创建的视图deptno20,那么需要执行的sql语句是:select * from deptno20;,并且我们可以再加where条件,或者查看部分字段等。
在视图中插入、修改和删除的时候其实对应的真实的内容也会变化。