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