zoukankan      html  css  js  c++  java
  • mysql创建视图

    (1).第一类:create view v as select * from table;

    (2).第二类:create view v as select id,name,age from table;

    (3).第三类:create view v[vid,vname,vage] as select id,name,age from table;

    如果涉及到数据量过大,业务逻辑需要跨表查询等等也可建立一个跨表的视图,有三种情况:

    一、基于同一数据库

    这种情况较为简单,只需简单的一行sql命令,如下:

    create view v as (select * from table1) union all (select * from table2);

    二、基于不同数据库

    这种情况只比上面的sql语句多一个数据库的名字,如下:

    create view 数据库1.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2);

    create view 数据库2.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2);

    如果执行第一个sql将在数据库1下建立视图,反之亦然;

    三、基于不同服务器

    这种情况稍微麻烦一点,需要先建立一个远程表来访问远程服务器的数据表,然后再对这个刚建立的远程表和本地表进行视图,步骤如下:

    1、查看MySql是否支持federated引擎

        (1).登录Mysql;    

        (2).mysql>show engines;

        (3).如果显示为no,在配置文件中添加:federated (在my.ini),重新启动mysql服务。

    2、创建远程表

         mysql>CREATE TABLE federated_table (

                       id  INT(20)  NOT NULL AUTO_INCREMENT,  

                      name  VARCHAR(32) NOT NULL DEFAULT '',  

                      other  INT(20) NOT NULL DEFAULT '0',   

                      PRIMARY KEY  (id)

                     )

                     ENGINE=FEDERATEDDEFAULT

                     CHARSET=utf8

                     CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

    CONNECTION可以按如下方式进行配置:

          (1).CONNECTION='mysql://username:password@hostname:port/database/tablename'

          (2).CONNECTION='mysql://username@hostname/database/tablename'

          (3).CONNECTION='mysql://username:password@hostname/database/tablename'

    3、建立视图

    create view 本地数据库.v as (select * from 本地数据库.table1) union all (select * from 远程数据库.test_table);

  • 相关阅读:
    HRBUST 1377 金明的预算方案
    51Nod 2649 完全背包
    计蒜客 T2129 采药
    计蒜客 T1408 矩形嵌套
    OpenJudge 2711 合唱队形
    51Nod 2080 最长上升子序列
    2021NUAA暑假集训 Day5 部分题解
    2021NUAA暑假集训 Day4 部分题解
    C++ 11 move constructor 何时调用?
    老外这样说英文
  • 原文地址:https://www.cnblogs.com/baiyi-ying/p/10225423.html
Copyright © 2011-2022 走看看