一、视图
1、视图简介
- 为什么要使用视图?
a) 从三大范式当中,我们知道一张表只存一种实体的数据,但现实业务往往是,需要多个表的数据
关联呈现的,并且某些固定的列会被频繁的访问,视图可以避免频繁的编写这些关联查询语句;
b) 某些人可能只允许表中的部分列,不能将整个表的列或数据行暴露出来,我们可以为这些特定的
人创建一个视图,把权限给到这些人,起到对基表中的其他列和数据行进行安全保护;
视图中存储了可以返回结果集的 sql 查询语句,当用在 from 子句时,内部的 sql 查询语句就会被执行。
- 什么是视图?
MySQL 视图是一个虚拟表,其内容由查询定义。
视图的优点:
- 简单化,数据所见即所得;
- 安全性,用户只能查询或修改他们所能见到得到的数据;
- 逻辑独立性,可以屏蔽真实表结构变化带来的影响。
视图的缺点:
- 性能相对较差,从视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的;
- 修改不方便,特别是复杂的聚合视图基本无法修改。
2、MySQL 中视图的使用
- 基于单表创建视图
- 创建视图,显示学生姓