时间:2022-03-01来源:www.pcxitongcheng.com作者:电脑系统城
注意:myemployees库和shoppingCart库在同一台物理主机,如果不在同一台物理主机该怎么办呢?下面我会介绍到。
联合查询(不同的2个库,myemployees库和shoppingCart库),这2个库在同一台物理主机上,都在我本机。
1 2 3 4 5 6 7 8 |
#联合查询(不同的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; |
为了演示效果,我这里使用我的虚拟机,我虚拟机里安装了Linux系统(centos),Linux系统中已经安装了MySql数据库,MySql数据库服务已经启动了,所有的环境已经全部弄好了。
我的Linux系统(centos)的ip是192.168.117.66。
我打算我本地的author表和远程的user表进行联合查询。
在linux中输入SHOW CREATE TABLE `user`;这句话得到的结果后,我们把
1 2 3 4 |
CREATE TABLE IF NOT EXISTS ` user ` ( `id` INT (11) DEFAULT NULL , ` name ` VARCHAR (20) DEFAULT NULL ) |
这段代码拷贝到我本地的数据库中,并且在末尾加上
1 | ENGINE =FEDERATED CONNECTION = 'mysql://root:root@192.168.117.66:3306/testDB/user' ;这句话。 |
1 2 3 4 |
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数据库的FEDERATED引擎有没有开启。
1 | SHOW ENGINES; |
如果FEDERATED是NO的话,说明没有开启,需要你去修改一下mysql数据库的配置文件。
修改本地mysql数据库的配置文件,在配置文件末尾加上federated,如下图:
如果你是windows系统的话,就修改my.ini文件,如果你用的是Linux系统的话,就修改my.cnf文件。
修改完配置文件后记得重启一下mysql的服务。
linux重启mysql服务,service mysqld restart。
windows重启mysql服务,在dos窗口中,输入net stop mysql服务名,然后再输入net start mysql服务名。
OK,全部搞定后,执行如下sql语句,即可看到跨库查询的查询结果。
1 2 3 4 |
# SELECT id, aname FROM author UNION SELECT id, ` name ` FROM ` user `; |
1 | SELECT * FROM author INNER JOIN ` user `; |
以上这种跨服务器跨库的查询,需要注意如下几点:
1.该跨库查询方式不支持事务,最好别使用事务。
2.不能修改表结构。
3.MySQL使用这种跨库查询方式,远程数据库目前仅支持MySQL,其他数据库不支持。
4.表结构必须和目标数据库表完全一致。
到此这篇关于mysql远程跨库联合查询的示例的文章就介绍到这了。
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30