SQL Server大数据导入导出:将一张表的数据导入到另一张表-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

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

简介:          今天下午休息的时候又被扔给一项任务:把全国的街道数据导入街道表。但是他们扔给我的SQL脚本是从网上down的一个,跟平台这边的数据库设计的完全不一样。               当时的思路是:先把扔给我的脚本在本地生成一个表,然后选出要的数据,批量插入到开发库所在服务器的表。



         今天下午休息的时候又被扔给一项任务:把全国的街道数据导入街道表。但是他们扔给我的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多条数据还是分分钟的事,蛮快的。


       




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


       

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


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


       

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

 

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





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章