MSSQL数据导出到MYSQL

Posted 牛腩的编程不归路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSSQL数据导出到MYSQL相关的知识,希望对你有一定的参考价值。

MSSQL数据导出到mysql

花了一天时间把MSSQL里的数据导出到MYSQL, 好麻烦,二个数据库都是阿里云买的云服务器。

  1. 先上阿里云控制面板,备份下MSSQL数据库,下载备份下来,在本地电脑上还原

2.本地MSSQL数据库上执行select * into aaa from order where createtime>=‘2018-11-12 00:00:00‘ and createtime<=‘2018-11-13 00:00:00‘, 把一天的数据导出到新表aaa中,其中aaa是不存在,存在aaa表的话会报错

3.本地数据库上对aaa表生成脚本,只生成数据,生成的文件中把[]符号替换为空字符串,GO替换为;,insert aaa 替换为insert into order,N‘替换为‘

4.替换好的SQL保存,先在本地MYSQL上试运行下能不能导入,我用heidisql的加载SQL脚本,可以直接运行的,运行前先点一下工具栏里的那个忽略错误提示继续导入

5.本地测试成功的话把SQL脚本文件用远程桌面存到服务器上,在服务器上运行heidisql,再导入sql脚本就行了

6.从第2步开始重复,一天一天的导入数据,之所以一天一天导出,因为受限于电脑配置的,订单表一天的数据大概是1W左右,导出成inser 语句后大概是20M左右,替换文本什么的都正常,我试过导出二天的数据2W多,结果在保存成sql文件的时候卡死了...

7.之所以以上这些操作不在远程桌面上的数据库里操作,因为远程服务器是Sql server2012数据库的,我发现在上面操作导出订单表数据的时候,那个时间字段是 cast(0x648989ABCDEFD as DateTime) 这样子的,这个在MYSQL上执行不了,本地的数据库是sql server2016, 导出的时候时间字段是 cast(‘2018-11-13T12:00:00‘ as DateTime)这样子的,这个在MYSQL上可以直接执行

 

以上是关于MSSQL数据导出到MYSQL的主要内容,如果未能解决你的问题,请参考以下文章

如何将单个 MSSQL 表导出到 MySQL?

导出mssql数据库中的表、字段和类型为SQL语句

如何利用Navicat导入/导出mssql中的数据

请问MSSQL数据库在导出时,所有ID字段的标识全部由“是”变成“否”了,该怎么解决?

MSSQL数据库如何转换为MYSQL数据库?

如何在将数据框导出到 mssql 时指定目标数据库