当前位置: 首页 > news >正文

MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中

MySQL技巧之跨服务器数据查询:进阶篇-从A数据库复制到B数据库的表中

基础篇已经描述:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。
而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的连接名: MY_ODBC_MYSQL
以及用同样的方法,做的另一个连接名 MY_ODBC_MYSQL2

还实现了第一次查询,在MS SQL Server打开一个新查询,输入以下脚本:
SELECT Q.country_code, Q.country_name
FROM OPENQUERY(MY_ODBC_MYSQL, ’
SELECT country_code, country_name FROM country
WHERE Code = ‘‘IR’’
') AS Q

跨服务器的查询语句、更新语句已经学会了,跨服务器的插入语句又该如何写呢?
我摸着石头过河,你搭着我肩膀过河吧。
在这里插入图片描述
– 插入语句 从A数据库复制到B数据库的表中,假设My_ODBC_MYSQL连接A数据库,My_ODBC_MYSQL2连接B数据库
DECLARE @QryStr nvarchar(4000) – 查询脚本
SET @QryStr =

INSERT INTO OPENQUERY(My_ODBC_MYSQL2, ‘’
SELECT country_code, country_name
FROM country LIMIT 0, 1’')
SELECT Q.country_code, Q.country_name
FROM OPENQUERY(My_ODBC_MYSQL, ‘’
SELECT cty.country_code, cty.country_name
FROM country cty
WHERE 1 = 1
‘’) AS Q
';
PRINT @QryStr; – 这是调试的技巧,小本子抄下。

EXEC(@QryStr); – 执行脚本的另一个写法
注意:请记住以上套路,特别注意单引号的个数。这里为什么是二个单引号?
有大用的吐血技巧:SELECT country_code, country_name FROM country LIMIT 0, 1 就是为了获得一下目标表的结构。

加点难度,如果我只要把A库中沙特的一行查出来,添加到B库呢,又该怎么写?
在这里插入图片描述
– 插入语句 从A数据库复制到B数据库的表中,假设My_ODBC_MYSQL连接A数据库,My_ODBC_MYSQL2连接B数据库
DECLARE @QryStr nvarchar(4000) – 查询脚本
SET @QryStr =

INSERT INTO OPENQUERY(My_ODBC_MYSQL2, ‘’
SELECT country_code, country_name
FROM country LIMIT 0, 1’‘)
SELECT Q.country_code, Q.country_name
FROM OPENQUERY(My_ODBC_MYSQL, ‘’
SELECT cty.country_code, cty.country_name
FROM country cty
WHERE country_code = ‘’’‘’ + ‘SA’ + ‘’‘’‘’ +
’ ‘’) AS Q
';
PRINT @QryStr; – 这是调试的技巧,小本子抄下。

EXEC(@QryStr); – 执行脚本的另一个写法
注意:请记住以上套路,特别注意单引号的个数。为什么加个动态参数沙特,拼接就要用四个单引号呢?基础篇有描述!我摸着石头过河,你搭着我肩膀过河吧。

妙!高!实在是高!
加粉丝看
MySQL技巧系列之《未经证实的葵花宝典》:一篇可以当饭吃的MySQL文章,值得收藏

总结:借用微软的SQL Server + ODBC 即可实现MySQL跨服务器间的数据查询。使用 INSERT INTO OPENQUERY(…),实现跨服务器间复制(插入)记录,轻松实现从A数据库复制到B数据库的表中。

http://www.lryc.cn/news/483562.html

相关文章:

  • 【论文阅读】利用SEM二维图像表征黏土矿物三维结构
  • 可靠UDP协议(KCP)使用说明
  • ffmpeg+D3D实现的MFC音视频播放器,支持录像、截图、音视频播放、码流信息显示等功能
  • 【Flink】-- flink新版本发布:v2.0-preview1
  • Node.js 版本管理的最终答案 Volta
  • 蓝桥杯每日真题 - 第11天
  • Vue vs React:两大前端框架的区别解析
  • 【树莓派raspberrypi烧录Ubuntu远程桌面登入树莓派】
  • c# 调用c++ 的dll 出现找不到函数入口点
  • LInux——环境基础开发工具使用(正在更新中...)
  • linux 内核asmlinkage关键字总结
  • ⚡️如何在 React 和 Next.js 项目里优雅的使用 Zustand
  • Pinpoint(APM)进阶--Pinot指标采集(System Metric/Inspector)
  • Mysql:使用binlog的一些常用技巧
  • Electron 项目启动外部可执行文件的几种方式
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • Linux入门:环境变量与进程地址空间
  • 【Jenkins实战】Windows安装服务启动失败
  • web实操5——http数据详解,request对象功能
  • C# 如何动态加载程序集
  • 前端基础的讲解-JS(10)
  • JNI整理总结
  • aws中AcmClient.describeCertificate返回值中没有ResourceRecord
  • Spring Task详细讲解
  • C++初阶 --- 类和对象(1)
  • 《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接
  • Anaconda 和 conda 是什么关系?就像 pip 和 python 一样吗
  • 「数据治理」核心专业术语解释!
  • Mac Nginx 前端打包部署
  • 乳腺癌诊断分析——基于聚类分析实现