sql server2008里的3千万数据怎么快速的导入到mysql中

时间:2021-09-12 01:05:21
sql server2008里的3千万数据怎么快速的导入到mysql中。有什么好办法没??还是要自个写程序??


因为我发现像navicate软件似乎是一条一条导入的。这样硬盘的IO挺大的。如果我写程序,可以拼接SQL语句,使其20条语句写入一次mysql。


也希望高手有更好的办法。

11 个解决方案

#1


sqlserver 2000 安装mysql驱动
直接导数据即可。

#2


导出成txt
再load data进mysql

#3


引用
导出成txt
再load data进mysql


导出不太好,3千万的数据,估计单文件也要有1个G。会不会出问题呀。

引用
sqlserver 2000 安装mysql驱动
直接导数据即可。


这种导数据方式,快不??

#4


SQL SERVER中导出文本文件,然后在MYSQL中用load data 导入

#5


引用 4 楼 ACMAIN_CHM 的回复:
SQL SERVER中导出文本文件,然后在MYSQL中用load data 导入


3千万的数据,导出去,体积可不小呀。就算用CSV格式。估计也要1G的呀。

#6


引用 4 楼 ACMAIN_CHM 的回复:
SQL SERVER中导出文本文件,然后在MYSQL中用load data 导入


sql server导出的时候有没有办法去掉字段里的回去符,因为我要导入mysql的时候会遇到回到符,可能会出错。

#7


sql server导出为文本,然后mysql 用load data导入。

#8


你们说的都是好简单呀。

弄了两个多小时还没有导出来,郁闷。

#9


从sqlserver导出的格式是这样的:

陈马赛克,,,OTH,010-116321,M,19000101,北京市海淀马赛克恒科技大厦北座6层,100080, ,,CHN,0,0,,,,,,10116,010-82808028,010-82828028-208,chenmeng@dist.com.cn,,,,,,,,0,2012-12-23 11:13:38,2

导入mysql时用的语句:
mysql> load data local infile 'f:/0000.txt' into table customer fields terminated by "," lines terminated by "\r\n";
Query OK, 1 row affected, 65535 warnings (4 min 26.28 sec)
Records: 21572776  Deleted: 0  Skipped: 21572775  Warnings: 256176112

我晕倒了。


#10


TMD呀,sqlserver 导出的文本居然是utf-16,怪不得我导入失败。

还是有很多的失败记录。

Records: 20050262  Deleted: 0  Skipped: 9473  Warnings: 41225333

#11


http://www.yesky.com/imagesnew/software/mysql/manual_Reference.html
这个是mysql的说明
7.16 LOAD DATA INFILE句法
看这里


陈马赛克,,,OTH,010-116321,M,19000101,北京市海淀马赛克恒科技大厦北座6层,100080, ,,CHN,0,0,,,,,,10116,010-82808028,010-82828028-208,chenmeng@dist.com.cn,,,,,,,,0,2012-12-23 11:13:38,2

你这里的数据应该用‘’或者“”封装起来,可能就是这个问题吧。
’陈马赛克’,,,OTH,010-116321,M,19000101,‘北京市海淀马赛克恒科技大厦北座6层’,100080, ,,CHN,0,0,,,,,,10116,‘010-82808028’,‘010-82828028-208’,’chenmeng@dist.com.cn‘,,,,,,,,0,2012-12-23 11:13:38,2

#1


sqlserver 2000 安装mysql驱动
直接导数据即可。

#2


导出成txt
再load data进mysql

#3


引用
导出成txt
再load data进mysql


导出不太好,3千万的数据,估计单文件也要有1个G。会不会出问题呀。

引用
sqlserver 2000 安装mysql驱动
直接导数据即可。


这种导数据方式,快不??

#4


SQL SERVER中导出文本文件,然后在MYSQL中用load data 导入

#5


引用 4 楼 ACMAIN_CHM 的回复:
SQL SERVER中导出文本文件,然后在MYSQL中用load data 导入


3千万的数据,导出去,体积可不小呀。就算用CSV格式。估计也要1G的呀。

#6


引用 4 楼 ACMAIN_CHM 的回复:
SQL SERVER中导出文本文件,然后在MYSQL中用load data 导入


sql server导出的时候有没有办法去掉字段里的回去符,因为我要导入mysql的时候会遇到回到符,可能会出错。

#7


sql server导出为文本,然后mysql 用load data导入。

#8


你们说的都是好简单呀。

弄了两个多小时还没有导出来,郁闷。

#9


从sqlserver导出的格式是这样的:

陈马赛克,,,OTH,010-116321,M,19000101,北京市海淀马赛克恒科技大厦北座6层,100080, ,,CHN,0,0,,,,,,10116,010-82808028,010-82828028-208,chenmeng@dist.com.cn,,,,,,,,0,2012-12-23 11:13:38,2

导入mysql时用的语句:
mysql> load data local infile 'f:/0000.txt' into table customer fields terminated by "," lines terminated by "\r\n";
Query OK, 1 row affected, 65535 warnings (4 min 26.28 sec)
Records: 21572776  Deleted: 0  Skipped: 21572775  Warnings: 256176112

我晕倒了。


#10


TMD呀,sqlserver 导出的文本居然是utf-16,怪不得我导入失败。

还是有很多的失败记录。

Records: 20050262  Deleted: 0  Skipped: 9473  Warnings: 41225333

#11


http://www.yesky.com/imagesnew/software/mysql/manual_Reference.html
这个是mysql的说明
7.16 LOAD DATA INFILE句法
看这里


陈马赛克,,,OTH,010-116321,M,19000101,北京市海淀马赛克恒科技大厦北座6层,100080, ,,CHN,0,0,,,,,,10116,010-82808028,010-82828028-208,chenmeng@dist.com.cn,,,,,,,,0,2012-12-23 11:13:38,2

你这里的数据应该用‘’或者“”封装起来,可能就是这个问题吧。
’陈马赛克’,,,OTH,010-116321,M,19000101,‘北京市海淀马赛克恒科技大厦北座6层’,100080, ,,CHN,0,0,,,,,,10116,‘010-82808028’,‘010-82828028-208’,’chenmeng@dist.com.cn‘,,,,,,,,0,2012-12-23 11:13:38,2