好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL视图

视图的概念

 1   视图可以由数据库中的一张表或者多张表生成,结构与数据表蕾丝
  2   视图中的数据也是由一张表或多张表中的数据组合而成
  3   可以对视图中的数据进行增删改查等操作,也可以修改视图结构
  4   视图不会保存数据,数据真正保存在数据表中
  5  视图与数据表数据同步更新

视图的优点

操作简单

 1   可以将经常使用的查询操作定义为视图
  2   可以使开发人员不用关心
  3       数据表的结构,
  4       表于表之间的关联关系
  5       数据表之间的业务逻辑和查询条件
  6  极大的简化开发人员对数据库的操作

数据安全

 1   MySQL根据权限将用户对数据的访问限制在某些数据的结果集上,而这些数据的结果集可以用使用视图来实现
  2   不必直接查询或操作数据表
  3  保证了数据的安全性

数据独立

 1   视图的结构是创建之初确定的
  2   当数据表的结构发生变化不会影响视图的结构
  3   如果数据表的字段发生变化,只需要简单修改查询语句
  4  不会影响用户对数据的查询操作

适应灵活多变的需求

 当业务需求发生变化,修改数据表的结构工作量较大,可以使用视图来减少改动的工作量
实际工作中使用较多 

能够分解复杂的查询逻辑

数据库中如果存在复杂的查询逻辑,则可以将问题分解,创建多个视图获取数据,再将多个视图结合起来,完成复杂查询

创建视图

 create   view  view_name as SQL查询; 

创建单表视图

 create   view  user_view1  as   select   *   from   user  ;
  create   view  user_view2  as   select  name,shell  from   user  ;
  create   view  user_view3 (nameview, shellview)  as   select  name,shell  from   user  ;
  create   view  user_view4  as   select   *   from   user   where  shell = "bash";

创建多表联合视图

查看视图

 show tables;
  desc   view_name;
show   table  status kile  ‘  view_name  ‘  ;
show   create   view   ‘  view_name  ‘  ;
  select   *   from  information_schema.views\G

修改视图的结构

 create   view  view_name  as   SQL语句;

  create    or   replace   view   view_name;
如果不存在就创建,存在就更新 
 alter   
除了alter语句外,其它与create相同 

 

更新视图的数据

 insert   into  
 update view_name set cloumn="99" where;
也可以通过修改数据表的数据间接修改视图中的数据

删除视图

 drop   view  view_name;

 

MySQL视图

标签:name   tab   sel   限制用户   mysql   组合   开发人员   form   sele   

查看更多关于MySQL视图的详细内容...

  阅读:24次