视图

来源:互联网 发布:怎么切换mac系统 编辑:程序博客网 时间:2024/06/10 11:13

1 本质
  将select语句的检索结果用表的形式保存下来,因此有时视图称为假表。这是因为视图本身不包含任何数据的,仅仅是从对象表中动态地抽取数据,并将数据组织在一起,外表看起来像一个物理表。
  
2 作用
  将多个物理表中的数据通过视图动态地组织在一起,用户可以像使用普通物理表那样使用它。
  
3 特征
 (1)可以公开表中特定的行或列,通过视图进行权限权限管理。
 (2)简化复杂的SQL查询,将经常使用的连接或子查询条件定义为视图,不仅可以简化SQL语句,当连接或子查询条件发生改变时,因为只用修改视图的定义,可以大大减少受影响的代码范围。
 (3)可以限制可插入/更新的值范围,即使用[WITH CHECK POINT]命令。

4 创建视图

create view 视图名(列名,...)as select 语句 [with check point];即对指定的<select 语句>创建视图,包含指定列[列名,...]通常情况下,推荐加with check point ,从而避免发生不必要的错误

 注意:在创建视图时select语句中不能包含如下内容:
   (1)系统变量/用户变量的参照
   (2)temporary类型的表
   (3)from语句中的子查询
  
5 定义视图时最好将所有的视图名指定为一个共同的特征,如[v_]的形式开头。这时可以使用LIKE关键字将所有特征的表或视图显示出来。如show table like ‘v_%’;

6 显示视图中所有列的信息

show fields from 视图名;

7 删除视图

drop view 视图名;

8 对视图进行插入/更新/删除操作时,以下几种条件下不能进行:
 (1)视图的列中含有统计函数的情况下
 (2)视图定义时使用了group by/having语句,distinct语句,union语句的情况下
 (3)视图定义时使用了子查询的情况下
 (4)进行跨越多个表进行数据的变更(插入/更新/删除)操作
 
9 视图是一个非常方便的功能。但是就性能来说并非一个最好的选择。

0 0
原创粉丝点击