• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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中的跨库关联查询方法
    • mysql跨库事务XA操作示例
    • MySql实现跨表查询的方法详解
    • Yii2实现跨mysql数据库关联查询排序功能代码
    • mysql 跨表查询、更新、删除示例
    • MySQL跨表查询与跨表更新
    上一篇:Mysql日期查询的详细介绍
    下一篇:快速解决mysql导出scv文件乱码、蹿行的问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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