SQL Server大資料匯入匯出:將一張表的資料匯入到另一張表

來源:互聯網
上載者:User

標籤:sql server   備份   大資料   指令碼   



         今天下午休息的時候又被扔給一項任務:把全國的街道資料匯入街道表。但是他們扔給我的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'       ); 

 

       做起來,感覺還是蠻多坑的。。。





SQL Server大資料匯入匯出:將一張表的資料匯入到另一張表

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.