記一次批量修改SQLServer表數據


前提:

1.數據有上百萬條,分成10幾張excel表,從數據庫中導出,由業務部門修改;

2.數據沒什么規律;

3.和數據庫DB商量后決定先把從excel導進數據庫中,再通過關聯查詢修改數據

 

將 Excel 數據導入 SQL Server:

參考了以下文檔  https://docs.microsoft.com/zh-cn/sql/relational-databases/import-export/import-data-from-excel-to-sql?view=sql-server-2017,

大致有兩種解決方案:直接從Excel 導入;轉化成文本導入;

1.首先嘗試了第一種解決方案,必須按照excel相關插件,由於服務器上只裝了2003的版本,先把xlsx文件轉為xls文件,右擊數據庫,點擊任務-》導入數據,結果每次只能導入前幾萬條,后面的數據就沒導進去(不知道是不是設置的原因),而且效率比較低

2.用文本的方式導入數據,excel文件另存為“文本文件(制表符分隔)(.txt)”或“CSV (逗號分隔)(.csv)”;如果數據中存在逗號或者制表符會造成導入失敗。

這里我選擇了制表符的txt文件,因為制表符在數據庫中存儲的不多。接着新建表test來存儲這些數據,執行以下sql

 

USE ImportFromExcel;
GO
BULK INSERT Test FROM 'C:\Temp\data.txt'
   WITH (
      FIELDTERMINATOR = '\t',
      ROWTERMINATOR = '\n'
);
GO

 

如果執行完成后發現報錯,定位到txt文件中的具體位置(ctrl+g跳轉到具體行號),查看數據中是否有異常或者不符合格式的數據,修改數據或者刪除放在后續處理;清空表數據再重新執行sql即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM