MYSQL 视图

      在现实中,在有些情况下,可能不能将表的所有信息展示出去 ,但是如果在建立一个新表会有很大的冗余 所以会在原表的基础上,建立一个虚拟表(视图) 建立视图后在mysql 中就有一个表,但是他只是一个虚拟表, 视图建立的虚拟表一般只做查询操作。 如果多个表经常需要多表查询可以把多个表连接起来做成一个视图。方便操作简化复杂的业务逻辑。

建立视图的语法:

Create view  view_name    as    select  id,t_name  from   table_name;

删除视图

Drop view  view_name;

 

修改视图:

Alter view view_name as   select * from table_name;

修改视图就是在建立一个视图视图实际上就是一个查询语句的保存

 

修改视图中字段名:

Create  view  view_name   as select idusername from  table_name;

Alter view  view_name  (v1v2)  as  select  idusername from  table_name;

 

 

视图有两种执行方式:

1  merge

2  temptable

 

第一中为 合并方式 就是 在操作视图时 把 视图的建立语句和操作视图的语句结合起来  执行!

 

第二种方式,临时表方式当操作视图是把视图当做 临时表来操作!

 

当用户在建立视图时:mysql 默认使用一种 undefined 的处理算法: 就是会自动在合并和临时表内进行选择。

 

两种方法的区别:

第一种方法 如果操作语句比较复杂 会出现 语法错误的情况! 会自动修改语法,自动丢弃一些语句!

 

 

使用视图是需要注意的地方:

1.一般只在视图中完成查询操作。

2.在对视图的内容进行修改时,真实的表也会被修改。

3.删除视图时,不会删除实体表内的数据。

4.如果做外部接口,一个数据库多个应用,正对每一个应用可以采取不同的视图。

5.如果对视图的内容进行删除,和插入时要考虑 在原表中有而视图中没有的字段是否可以为空。

 

 

 

posted @ 2014-07-30 10:44  奋进程序猿  阅读(369)  评论(0编辑  收藏  举报