gpt4 book ai didi

mysql远程跨库联合查询的示例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章mysql远程跨库联合查询的示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

注意:myemployees库和shoppingCart库在同一台物理主机,如果不在同一台物理主机该怎么办呢?下面我会介绍到.

  。

情况一2个库在同一台物理主机

mysql远程跨库联合查询的示例

联合查询(不同的2个库,myemployees库和shoppingCart库),这2个库在同一台物理主机上,都在我本机.

mysql远程跨库联合查询的示例

#联合查询(不同的2个库,myemployees库和shoppingCart库)SELECT emp01.`employee_id`, emp01.`first_name` FROM myemployees.employees AS emp01 LIMIT 0, 5UNIONSELECT 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, 5UNION ALLSELECT 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.

mysql远程跨库联合查询的示例

mysql远程跨库联合查询的示例

mysql远程跨库联合查询的示例

mysql远程跨库联合查询的示例

mysql远程跨库联合查询的示例

我打算我本地的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";这句话。

mysql远程跨库联合查询的示例

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引擎有没有开启.

SHOW ENGINES;

如果FEDERATED是NO的话,说明没有开启,需要你去修改一下mysql数据库的配置文件.

mysql远程跨库联合查询的示例

修改本地mysql数据库的配置文件,在配置文件末尾加上federated,如下图:

如果你是windows系统的话,就修改my.ini文件,如果你用的是Linux系统的话,就修改my.cnf文件.

mysql远程跨库联合查询的示例

修改完配置文件后记得重启一下mysql的服务.

linux重启mysql服务,service mysqld restart.

windows重启mysql服务,在dos窗口中,输入net stop mysql服务名,然后再输入net start mysql服务名.

OK,全部搞定后,执行如下sql语句,即可看到跨库查询的查询结果.

#SELECT id, aname FROM authorUNIONSELECT id, `name` FROM `user`;

mysql远程跨库联合查询的示例

SELECT * FROM author INNER JOIN  `user`;

mysql远程跨库联合查询的示例

以上这种跨服务器跨库的查询,需要注意如下几点:

1.该跨库查询方式不支持事务,最好别使用事务.

2.不能修改表结构.

3.MySQL使用这种跨库查询方式,远程数据库目前仅支持MySQL,其他数据库不支持.

4.表结构必须和目标数据库表完全一致.

到此这篇关于mysql远程跨库联合查询的示例的文章就介绍到这了,更多相关mysql远程跨库查询内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文地址:https://blog.csdn.net/czh500/article/details/85345825 。

最后此篇关于mysql远程跨库联合查询的示例的文章就讲到这里了,如果你想了解更多关于mysql远程跨库联合查询的示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com