通过SQL Server操作MySQL的步骤和方法

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介:

在多种数据库环境下,经常会遇见在不同数据库之间转换数据和互相进行操作的情况。以下简要介绍下用SQL Server操作MySQL的步骤和方法。

1 操作前的准备

1.1 安装MySQL驱动

想要在SQL Server中操作MySQL,首先要在SQL Server所在的服务器上安装MySQL的驱动。MySQL的驱动安装包在MySQL的官网上可以下载到,我下载到的安装包名为:mysql-connector-odbc-5.1.8-winx64,适用于64位的Windows服务器。双击安装包,直接[next]即可安装成功。安装成功后,在运行中输入[odbcad32.exe]打开[ODBC数据源管理器],点击[驱动程序]选项,可看到[MySQL ODBC 5.1 Driver]已安装成功。

1.2 建立ODBC数据源

安装好MySQL的驱动后就可以在SQL Server所在的服务器上建立指向MySQL服务器的ODBC数据源。

在[ODBC数据源管理器]中选择[系统 DSN]选项卡,点击[添加]按钮。

选择[MySQL ODBC 5.1 Driver],点击[完成]。

在弹出的配置框中填写数据源名、MySQL服务器IP、端口、用户名和密码,点击[ok],ODBC数据源创建成功。

1.3 建立链接服务器

建立链接服务器有两种方式,可以通过SQL Server Management Studio中的向导建立,也可以直接使用SQL语句建立。

1.3.1 使用向导建立链接服务器

在SQL Server Management Studio中连接上SQL Server,然后在[服务器对象]->[链接服务器]上点击右键,选择[新建连接服务器(N)…]。

在[链接服务器]框中填写自定义的链接服务器名称,[服务器类型]选择[其他数据源],[访问接口]选择”Microsoft OLE DB Provider for ODBC Drivers”,[产品名称]跟链接服务器名称填写成一样的,[数据源]填写刚才创建的ODBC数据源,点击[确定],链接服务器创建成功。

其实,也可以不建立ODBC数据源,直接建立链接服务器的,只要把[数据源]留空,而在[访问接口字符串]中填写链接字符串

“Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test; User=root;Password=rootPassword;Option=3;”即可。如下图:

1.3.2 使用SQL语句创建链接服务器

可以使用以下SQL语句创建链接服务器,其中使用了ODBC数据源:

EXEC master.dbo.sp_addlinkedserver

@server = N'TestMySQL', --链接服务器名

@srvproduct = N'TestMySQL', --产品名称

@provider = N'MSDASQL', --访问接口

@datasrc = N'TestServer' --数据源名称

 

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TestMySQL',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

GO

 

也可以使用以下SQL语句创建链接服务器,其中没有使用ODBC数据源,使用的是访问接口字符串:

EXEC master.dbo.sp_addlinkedserver

@server = N'TestMySQL', --链接服务器名

@srvproduct = N'TestMySQL', --产品名称

@provider = N'MSDASQL', --访问接口

@provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test; User=root;Password=rootPassword;Option=3;' --访问接口字符串

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TestMySQL',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

GO

2 通过SQL Server操作MySQL

MySQL数据库test 中的数据表TestTable的结构如下:

 

操作该表的方法如下:

2.1 查询MySQL中的数据

select * from openquery(TestMySQL,'select * from test.TestTable');

2.2 向MySQL表中插入数据

insert into openquery(TestMySQL,'select * from test.TestTable')

select 1,'TestName';

2.3 删除MySQL表中的数据

delete from openquery(TestMySQL,'select * from test.TestTable');

2.4 修改MySQL表中的数据

update openquery(TestMySQL,'select * from test.TestTable')

set TestName='ABCDE' where TestID=1;

 

摘自 http://blog.csdn.net/yongsheng0550/article/details/6598252



本文转自茄子_2008博客园博客,原文链接:http://www.cnblogs.com/xd502djj/archive/2013/05/28/3104191.html,如需转载请自行联系原作者。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
SQL 存储 缓存
MySQL进阶突击系列(02)一条更新SQL执行过程 | 讲透undoLog、redoLog、binLog日志三宝
本文详细介绍了MySQL中update SQL执行过程涉及的undoLog、redoLog和binLog三种日志的作用及其工作原理,包括它们如何确保数据的一致性和完整性,以及在事务提交过程中各自的角色。同时,文章还探讨了这些日志在故障恢复中的重要性,强调了合理配置相关参数对于提高系统稳定性的必要性。
|
13天前
|
SQL 关系型数据库 MySQL
MySQL 高级(进阶) SQL 语句
MySQL 提供了丰富的高级 SQL 语句功能,能够处理复杂的数据查询和管理需求。通过掌握窗口函数、子查询、联合查询、复杂连接操作和事务处理等高级技术,能够大幅提升数据库操作的效率和灵活性。在实际应用中,合理使用这些高级功能,可以更高效地管理和查询数据,满足多样化的业务需求。
46 3
|
16天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
18天前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
3月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
109 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
27天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
1月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
存储 数据挖掘 数据库
数据库数据恢复—SQLserver数据库ndf文件大小变为0KB的数据恢复案例
一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库不可用。管理员试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库。
|
3月前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
39 4
下一篇
DataWorks