MySQL中进行跨库查询的方法示例

 更新时间:2020年07月14日 08:55:43   作者:程序猿小旺  
这篇文章主要给大家介绍了关于MySQL中进行跨库查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询;另一种是不同服务的跨库查询;它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询。

一、同服务的跨库查询

同服务的跨库查询只需要在关联查询的时候带上数据名,SQL的写法是这样的:SELECT * FROM 数据库1.table1 x JOIN 数据库2.table2 y ON x.field1=y.field2;例如:

二、不同服务的跨库查询

不同服务的跨库查询,直接通过数据名加表明是无法进行关联的,这里需要用到MySQL数据库中的federated引擎。具体过程如下:

需求:服务A上的数据库X的表A需要关联服务B上的数据库Y中的表B,查询需要的数据;

1、先查看MySQL数据库是否安装了FEDERATED引擎,通过命令show engines;如下图:

如上图所示,MySQL安装了FEDERATED引擎,但Support是No,表示没有启用,去my.cnf文件末加上1行FEDERATED,重启MySQL即可。若没有找到FEDERATED引擎,则需要去安装了。

2、在服务A上的数据库X中创建一个表B,语句如下:CREATE TABLE table_name(……)ENGINE=FEDERATED CONNECTION='mysql://[username]:[password]@[localtion]:[port]/[db-name]/[table-name]'

说明:通过FEDERATED引擎创建的表只是在本地有表定义文件,数据文件则存在于远程数据库中,通过这个引擎可以实现远程数据访问功能。换句话说,这种建表方式会在服务A上的数据库X中创建了一个表结构文件(即服务B上的数据库Y的B表的表结构文件),表的索引、数据等文件还在服务B上的数据库Y中,相当于一种快捷方式,方便关联。

3、在服务A上的数据库X中直接进行A表与B表关联,就可以查询出需要的数据了。

这种方式有以下几点是需要注意的:

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

2)、不能修改表结构。

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

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

总结

到此这篇关于MySQL中进行跨库查询的文章就介绍到这了,更多相关MySQL跨库查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql学习之数据库检索语句DQL大全小白篇

    Mysql学习之数据库检索语句DQL大全小白篇

    这篇文章主要介绍了Mysql数据库检索语句DQL大全,本文适合数据库初学者,小白也能看懂,有需要的朋友可以收藏阅读,希望可以有所帮助
    2021-09-09
  • mysql 5.7.16 安装配置方法图文教程

    mysql 5.7.16 安装配置方法图文教程

    这篇文章主要为大家分享了mysql 5.7.16winx64安装配置方法图文教程,感兴趣的朋友可以参考一下
    2016-10-10
  • MySQL快速对比数据技巧

    MySQL快速对比数据技巧

    这篇文章主要介绍了MySQL快速对比数据的方法以及技巧分享,如果对此有兴趣,一起跟着小编学习下吧。
    2018-02-02
  • window下mysql 8.0.15 安装配置方法图文教程

    window下mysql 8.0.15 安装配置方法图文教程

    这篇文章主要为大家详细介绍了window下mysql 8.0.15 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 详解MySQL8中的新特性窗口函数

    详解MySQL8中的新特性窗口函数

    MySQL8 窗口函数是一种特殊的函数,它可以在一组查询行上执行类似于聚合的操作,但是不会将查询行折叠为单个输出行,而是为每个查询行生成一个结果,本文就来和大家简单讲讲它的用法,感兴趣的可以了解一下
    2023-06-06
  • 详解MySql Date函数

    详解MySql Date函数

    这篇文章主要介绍了MySql Date函数的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Canal监听MySQL的实现步骤

    Canal监听MySQL的实现步骤

    本文主要介绍了Canal监听MySQL的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • MySQL 中字符集详细介绍

    MySQL 中字符集详细介绍

    这篇文章主要介绍了MySQL 中字符集详细介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • MySQL在关联复杂情况下所能做出的一些优化

    MySQL在关联复杂情况下所能做出的一些优化

    这篇文章主要介绍了MySQL在关联复杂情况下所能做出的一些优化,作者通过添加索引来不断优化查询时间,需要的朋友可以参考下
    2015-05-05
  • Navicat连接虚拟机mysql常见错误问题及解决方法

    Navicat连接虚拟机mysql常见错误问题及解决方法

    这篇文章主要介绍了Navicat连接虚拟机mysql常见错误问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论