在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)、表结构必须和目标数据库表完全一致。

【编辑推荐】

【责任编辑:未丽燕 TEL:(010)68476606】

点赞 0

mysql怎么跨库查询_在MySQL中怎样进行跨库查询?相关推荐

  1. mysql单台跨数据库查询_在MySQL中怎样进行跨库查询?

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

  2. mysql where 条件取反_数据库MySQL之where条件查询

    数据库MySQL之where条件查询 1. where条件查询的介绍 使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中. where语句支持的运算符: 比较运算符 逻辑运 ...

  3. mysql中起飞到达城市查询_让mysql慢慢起飞 - 初识慢日志

    mysql优化的话,我一般会这样入手,从一个接口响应时间来说,如果响应时间超过1s,肯定是要优化的,保证网络问题ok的情况下,可进行如下调试: 1.先定位响应时间长的代码段可逐行注释,直接返回,如果当 ...

  4. B+树 范围查询_为什么 MySQL 使用 B+ 树,而不是 B 树或者 Hash?

    Java技术栈 www.javastack.cn 关注优质文章 为什么 MySQL 使用 B+ 树是面试中经常会出现的问题,很多人对于这个问题可能都有一些自己的理解,但是多数的回答都不够完整和准确.大 ...

  5. mysql怎么子查询_在mysql中如何进行子查询?

    在mysql中,子查询是指将一个查询语句嵌套在另一个查询语句中,可以在SELECT.UPDATE和 DELETE语句中配合WHERE子句进行实现,WHERE子句中语法格式为"WHERE (另 ...

  6. mysql inner join 长数字_关于mysql inner join 链接查询的优化

    在使用查询语句时,inner join,left join,right join等这些联接语句,想必你们并不陌生,并且常常会用到,联接达到了咱们想要的结果,但是当数据越大越大的时候,会发现查询很慢,每 ...

  7. mysql user表添加记录_《MySQL数据操作与查询》- 返校复习课练习题,创建数据库user_system,创建数据表user及user_ext...

    一.其它(共18题,100分) 1.创建数据库user_system CREATE DATABASE user_system 2.在数据库user_system中创建数据表user及user_ext, ...

  8. 微信小程序mysql查询_微信小程序云开发数据库操作查询记录

    官方文档解读: 查询记录 1. 打开 pages/databaseGuide/databaseGuide.js 文件,定位到 onQuery 方法 2. 把注释掉的代码解除注释,onQuery 方法会 ...

  9. mysql是如何管理数据_【MySQL】如何管理数据库

    MySQL作为一款数据库管理系统(DataBase Management System,DBMS)软件,可以管理多个数据库.本文,主要讲述如何对一个数据库进行一系列的"增.删.改.查&quo ...

  10. mysql主从复制原理详解_简述 MySQL 逻辑架构与主从复制原理。

    ↑ 点击上面 "时代Java"关注我们,关注新技术,学习新知识! 1.Mysql逻辑架构图 如果能在脑海中构建出MySql各组件之间如何协同工作的架构图,就会有助于深入理解MySq ...

最新文章

  1. R语言with函数和within函数:with函数基于表达式在dataframe上计算、within函数基于表达式在dataframe上计算并修改原始数据
  2. ubuntu安装新字体
  3. openlayers 可以实现3d地图效果吗_OpenLayers教程:图形绘制之设置图形的样式
  4. 最新最全的java多线程基础总结(上)
  5. centos下wget时提示unable to resolve host address ...
  6. Android版:验证手机号码的正则表达式 (转)
  7. 二. 简单的NSIS安装包
  8. [Unity] 战斗系统学习 8:构建 TPS 框架 3:mono 组件
  9. php2个数字拼接,PHP合并2个数字键数组值示例详解
  10. 【挖坑系列】关于浏览器の缓存机制
  11. WebShell --中国蚁剑,黑客之剑
  12. 新冠能否开启物联网发展的大门
  13. 做好ToB运营:避开4个误区和掌握3个获客方式
  14. Excel表格常用快捷键大全
  15. SecureCRT SecureFx 绿色破解版
  16. Premiere Pro 中的键盘快捷键
  17. 数据科学分布——Beta分布
  18. 联想家悦微型计算机的包装箱,08年联想家悦所有型号,联想家悦小机箱型号-
  19. 抓取微信小程序页面丶小程序源码
  20. 如何使用Hyper-V Manager和Powershell合并Hyper-V检查点

热门文章

  1. 【Scratch】进阶篇-《Scratch游戏开发》超级躲避球
  2. Python之linspace函数
  3. 【读书笔记】看你能坚持读几本书?!——三十本互联网必看书籍
  4. 阿里云配置 https
  5. dell3900机型安装xp64位操作系统
  6. 关于win10更新的坑,头一次【这台电脑无法运行Windows10,我们无法跟新系统保留的部分】
  7. MATLAB中调用eemd函数
  8. cs5460a c语言程序,CS5463程序,有图有程序,大虾来看看,欢迎拍砖!
  9. ASCII编码、GB2312编码、Unicode编码、UTF-8编码
  10. 使用u盘量产工具修复写保护的u盘