本文整理自网络,侵删。
目录
- 情况一2个库在同一台物理主机
- 情况二2个库不在同一台物理主机(即2个库分别在不同的物理主机)
注意:myemployees库和shoppingCart库在同一台物理主机,如果不在同一台物理主机该怎么办呢?下面我会介绍到。
情况一2个库在同一台物理主机
联合查询(不同的2个库,myemployees库和shoppingCart库),这2个库在同一台物理主机上,都在我本机。
#联合查询(不同的2个库,myemployees库和shoppingCart库) SELECT emp01.`employee_id`, emp01.`first_name` FROM myemployees.employees AS emp01 LIMIT 0, 5 UNION SELECT emp02.`employee_id`, emp02.`first_name` FROM shoppingCart.`employees2` AS emp02; # SELECT emp01.`employee_id`, emp01.`first_name` FROM myemployees.employees AS emp01 LIMIT 0, 5 UNION ALL SELECT emp02.`employee_id`, emp02.`first_name` FROM shoppingCart.`employees2` AS emp02;
情况二2个库不在同一台物理主机(即2个库分别在不同的物理主机)
为了演示效果,我这里使用我的虚拟机,我虚拟机里安装了Linux系统(centos),Linux系统中已经安装了MySql数据库,MySql数据库服务已经启动了,所有的环境已经全部弄好了。
我的Linux系统(centos)的ip是192.168.117.66。
我打算我本地的author表和远程的user表进行联合查询。
在linux中输入SHOW CREATE TABLE `user`;这句话得到的结果后,我们把
CREATE TABLE IF NOT EXISTS `user` ( ? `id` INT(11) DEFAULT NULL, ? `name` VARCHAR(20) DEFAULT NULL )
这段代码拷贝到我本地的数据库中,并且在末尾加上
ENGINE =FEDERATED CONNECTION='mysql://root:root@192.168.117.66:3306/testDB/user';这句话。
CREATE TABLE IF NOT EXISTS `user` ( `id` INT(11) DEFAULT NULL, `name` VARCHAR(20) DEFAULT NULL )ENGINE =FEDERATED CONNECTION='mysql://root:root@192.168.117.66:3306/testDB/user';
其实上面的那段语句,说白了,就是在我本地的数据库中建了一个远程数据库的连接的快捷方式(远程数据库的连接快捷方式),类似于什么呢?就类似于我们window操作系统中的桌面上的桌面快捷方式,我们双击一下桌面上的某个软件图标就能打开该软件,一样的道理嘛。
相关阅读 >>
介绍mysql数据库的预处理(prepared statement)性能测试
更多相关阅读请进入《mysql》频道 >>

数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » mysql远程跨库联合查询的示例
标签:mysql
相关推荐
评论
管理员已关闭评论功能...