您的位置:首页 > 数据库 > MySQL

Mysql学习笔记六,视图

2015-12-02 10:58 525 查看

视图的概念

不再数据库中实际存在。行和列来自于实际的表,在使用视图的时候动态生成。


视图的优势:

1 简单: 视图一般是筛选好的数据的结果集。

2 安全: 视图已经做好结果集的筛选,可以防止用户访问到系统不希望他访问的数据。

3 数据独立:一旦视图结构确定, 表结构的变化对视图的影响有限。

创建和修改视图

? create view; --创建视图的语法


Mysql的视图有一些限制: from 关键字后面不能包含子查询,这和其他数据库不同。 可以将子查询做成一个视图, 然后再创建你需要的视图,来解决这个问题。

视图的可更新性和视图的定义有关,以下类型的视图是不可更新的:

1 包含下面关键字的SQL语句:聚合函数(SUM、MIN、MAX、COUNT等)、DISTINCT、GROUPBY、HAVING、UNION或者UNION ALL。

2 常量视图。

create or replace view pi as select 3.1415926 as pi; --常量视图


3 select 中包含子查询。

4 join。

5 from 一个不能更新的视图。

6 where 字句的子查询引用了from字句中的表。

WITH [CASCADED | LOCAL] CHECK OPTION 决定了是否允许更新数据使记录不再满

足视图的条件:

1 LOCAL 是只要满足本视图的条件就可以更新

2 CASCADED 则是必须满足所有针对该视图的所有视图的条件才可以更新

删除视图

用户可以一次删除一个或者多个视图,前提是必须有该视图的 DROP 权限

drop view if exists view1,view2; --删除视图view1,view2


查看视图

show tables;-- 查看视图列表
show table status;--查看视图状态
show create view;--查看视图创建语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: