• 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.如果对视图的内容进行删除,和插入时要考虑 在原表中有而视图中没有的字段是否可以为空。

     

     

     

  • 相关阅读:
    IntentService和AsyncTask的区别
    Android拒绝来电的实现ITelephony类的反射
    如何安全退出已调用多个Activity的Application?
    Android常用知识点总汇
    android menu的两种实现方法
    Android4.0系统接收不到广播的问题解析
    Android 面试题
    AsyncTask的用法
    select @@identity的用法
    按需操控Broadcast Receivers是否开启]
  • 原文地址:https://www.cnblogs.com/phpshen/p/3877454.html
Copyright © 2020-2023  润新知