MySQL 视图
1 基本概念
视图是一张虚拟表,是一张逻辑表,是SQL查询的结果集。视图如同真实的数据表一样,包含带有名称的列和行数据,在使用视图时动态生成。通过视图可以展现基表的部分数据。
基表是指用来创建视图的表。
视图的优点:
- 简单: 不要关心后边的表结构,关联条件和筛选条件,对用户来说都是过滤好的集合
- 安全: 使用视图的用户只能访问允许被他们查询的结果集,对表的权限管理并不能限制具体行和列,但通过视图可以简单的实现。
- 数据独立: 一旦视图的结构确定了,就可以屏蔽表结构变化对用户的影响,基表增加列对视图无影响;基表修改列名,可以通过修改视图来解决,不会造成对访问者的影响。
视图可以极大的保证数据安全性,提高查询效率
注意:
修改了视图,对基表数据有影响
修改了基表,对视图也有影响
2 视图的基本操作
2.1 创建视图
create view 视图名 as select 字段名 from 表名;
# Mysql视图的定义在from关键字后面不能包含子查询
2.2 修改视图
alter view 视图名 as select 语句
alter view 视图名 as select 视图;
2.3 查询视图
# 显示视图创建情况
show create view 视图名;
# 查看视图
Show tables;
Show table status [ from db_name ] [ like ‘pattern’ ];
SELECT * FROM information_schema.views where table_name = 'my_view';
2.4 删除视图
drop view 视图名[,视图名…];
2.5 重命名视图
Rename table 视图名 to 新视图名;