视图
-
视图介绍
- 视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。
-
定义视图
-
create view 视图名称 as select 语句
-
例如创建province表的视图
select * from provinces; create view v_pro as select * from provinces; select * from v_pro;
-
-
查看视图
- 查看表的时候会将视图显示出来
show tables;
- 查看表的时候会将视图显示出来
-
使用视图
select * from v_pro;
-
删除视图
drop view 视图名称;
-
视图的作用
- 简单
- 提高了重用性
- 安全
- 提高了安全性能,可以针对不同的用户,设定不同的视图。
- 数据独立
- 一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
- 简单
-
视图的修改
- 有下列内容之一,视图不能做修改
select子句中包含distinct
select字句中包含组函数
select语句中包含group by子句
selecy语句红包含order by子句
where子句中包含相关子查询
from字句中包含多个表
如果视图中有计算列,则不能更新
如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作。
- 有下列内容之一,视图不能做修改