MySQL的视图
视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE修改记录。
视图的优点:
简单化:经常使用的查询可以被定义为视图。
安全性:通过视图用户只能查询和修改他们所能见到的数据。数据库的其他数据则既看不见也取不到。
通过视图,用户可以被限制在不同的子集上:
1)使用权限可被限制在基表的行的子集上。
2)使用权限可被限制在基表的列的子集上。
3)使用权限可被限制在基表的列和行的子集上。
4)使用权限可被限制在多个基表的练级所限定的行上。
5)使用权限可被限制在基表中的数据的统计汇总上。
6)使用权限可被限制在另一视图的子集上,或是一些视图和基表合并后的子集上。
逻辑数据独立性:视图可帮助用户屏蔽真实表结构变化带来的影响。
创建视图:
先创建一个表,并插入一些数据
创建视图:
CREATE VIEW 视图名 AS SELECT 字段,表中要进行操作,在视图中显示的字段 from 表名;
修改视图:
ALTER修改视图:
ALTER VIEW view_name AS SELECT 字段 from 表名
删除视图:
DROP VIEW IF EXISTS view_name;
MySQL中视图和表的区别和联系
区别:
1)视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的表,而表不是。
2)视图没有实际的物理记录,而基本表有。
3)表示内容,视图是窗口。
4)表占用物理空间而视图不占用物理空间,视图只是逻辑概念的存在。
5)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,视图可以防止用户接触数据表,而用户不知道表的结构。
6)表属于全局模式中的表,视图属于局部模式的表,是虚表。
7)视图的建立和删除值影响视图本身,不影响对应的基本表
联系:
视图是在基本表之上建立的表,它的结构和内容都来自基本表,它一句基本表的存在而存在,一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和逻辑意义上建立的新关系。