MYSQL下建立视图
2014-02-21 16:36
323 查看
MYSQL下建立视图
(一)基于同一数据库
这种情况较为简单,只需简单的一行sql命令,如下:
这种情况只比上面的sql语句多一个数据库的名字,如下:
(三)基于不同服务器
这种情况稍微麻烦一点,需要先建立一个远程表来访问远程服务器的数据表,然后再对这个刚建立的远程表和本地表进行视图,步骤如下:
3.1查看MySql是否支持federated引擎
(1).登录Mysql;
(2).mysql>show engines;
(3).如果显示为no,在配置文件中添加:federated (在my.ini),重新启动mysql服务。
3.2创建远程表
第一类:create view v as select * from table; 第二类:create view v as select id,name,age from table; 第三类: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下建立视图,反之亦然;
(三)基于不同服务器
这种情况稍微麻烦一点,需要先建立一个远程表来访问远程服务器的数据表,然后再对这个刚建立的远程表和本地表进行视图,步骤如下:
3.1查看MySql是否支持federated引擎
(1).登录Mysql;
(2).mysql>show engines;
(3).如果显示为no,在配置文件中添加:federated (在my.ini),重新启动mysql服务。
3.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.3建立视图
create view 本地数据库.v as (select * from 本地数据库.table1) union all (select * from 远程数据库.test_table);
相关文章推荐
- mysql 三张表连接建立视图
- sqlserver创建mysql的链接建立视图
- mysql 建立索引的方法--创建视图
- mysql三张表连接建立视图
- mysql 视图操作和存储过程
- 使用存储过程和Event事件为Mysql表自动建立分区
- Navicate for MySQL建立外键
- PowerDesigner连接MySQL,建立逆向工程图解
- Ubuntu 8.04中建立Apache+PHP+MySQL基本环境
- mysql autocommit=OFF导致wordpress 建立数据库连接时出错
- 对adult数据集建立朴素贝叶斯模型评估并可视化(awk+hive+java+mysql+echarts)
- 连接mysql,建立数据库,建表
- 【引用】如何在MySQL中创建视图?
- sql:MySQL 6.7 表,视图,存储过程结构查询
- MySQL视图的使用
- MySQL中视图的使用及多表INNER JOIN的技巧分享
- 将MySQL的临时目录建立在内存中的教程
- mysql 视图、存储过程和函数
- mysql从视图view简化到带子查询的sql
- 建立JSP,MYSQL,FLEX之间的联系