SQLServer大数据导入导出:将一张表的数据导入到另一张表

2015-07-21 16:26:06 · 作者: · 浏览: 0

今天下午休息的时候又被扔给一项任务:把全国的街道数据导入街道表。但是他们扔给我的SQL脚本是从网上down的一个,跟平台这边的数据库设计的完全不一样。

当时的思路是:先把扔给我的脚本在本地生成一个表,然后选出要的数据,批量插入到开发库所在服务器的表。

然后,按照这个思路做了个测试:

INSERT INTO dbo.test_Street(Code,CountyCode,CnName,VersionNo,Creator,CreateTime,ValidStatus) /*要插入数据的表*/
 SELECT NEWID() AS Code,id AS CountryCode,name AS CnName,1 AS VersionNo,'lhc',GETDATE() AS CreateTime,1 AS ValidStatus FROM pre_common_district /*数据来源表*/


之后,用一个烂脚本成功导入4W多条数据,然后,要做的就是把本地数据库中表导入到开发库中。

在这里,我们先使用bcp命令导出数据,然后用Bulk Insert向开发库插入数据:

使用如下命令:

bcp"kfglxt.dbo.test_Street" out f:\test.txt -c -q -S"ZB-LIUHCH-PC\SQLEXPRESS"-T

bcp"kfglxt.dbo.test_Street" out f:\test.Dat -c -q -S"ZB-LIUHCH-PC\SQLEXPRESS"-T(也可以,还支持其他格式)


\

感觉4W多条数据还是分分钟的事,蛮快的。<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCjxwPiAgICAgICAgPGltZyBzcmM9"https://www.cppentry.com/upload_files/article/57/1_qdv9f__.png" alt="\">

除了使用cmd执行,也可以直接在查询分析器中执行:

EXEC kfglxt..xp_cmdshell '
/*这里填写bcp命令*/
'

接下来我们要将备份成文件的数据导入开发库:

 USE kfglxt
 BULK INSERT dbo.test_Street
    FROM 'f:\test.txt' 
   WITH (	
     FIELDTERMINATOR = '\t',            
     ROWTERMINATOR = '\n'    
   ); 


做起来,感觉还是蛮多坑的。。。