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