当前位置: 首页 > 数据应用 > SqlServer

如何用SQL Server导入CSV文件并覆盖原表数据

时间:2023-06-28 15:04:09 SqlServer

如何用SQL Server导入CSV文件并覆盖原表数据

CSV文件是一种常见的数据格式,它以逗号分隔每个字段,可以用文本编辑器或表格软件打开。如果我们想要把CSV文件中的数据导入到SQL Server中,并覆盖原来的表数据,该怎么做呢?本文将介绍一种简单的方法,使用SQL Server Management Studio (SSMS) 的匯入一般檔案精靈功能。

匯入一般檔案精靈是一个简单的方法,可将一般檔案 (.csv、.txt) 的資料複製到您資料庫中的新資料表。匯入一般檔案精靈支援以逗號分隔和固定寬度格式的檔案。它使用了一种智能的架构,叫做Program Synthesis using Examples (PROSE),可以根据输入文件中的数据模式,来推断資料行名稱、類型及分隔符號等項目。它能够理解檔案的結構,並會處理一切繁雜的作業程序,讓使用者省下大筆心力。

下面是使用匯入一般檔案精靈的具体步骤:

1. 打开SSMS,并连接到SQL Server数据库引擎或localhost的实例。

2. 展开数据库,在需要导入数据的数据库上按一下滑鼠右鍵,指向工作,然后按一下匯入資料上方的匯入一般檔案。

3. 在欢迎页面,按一下下一步。

4. 在指定输入文件页面,按一下浏览以選取輸入檔。依預設,該精靈會搜尋 .csv 與 .txt 檔案。PROSE 會偵測檔案格式為逗號分隔或固定寬度 (不論副檔名為何)。输入新的資料表名稱,如果要覆盖原来的表数据,就输入原来的表名,并勾选覆盖目标表选项。

5. 在預覽資料页面,精靈會產生預覽,讓您檢視前 50 個資料列。若有任何問題,請按一下取消,否則請進入下一頁。

6. 在修改資料行页面,該精靈會找出其認為正確的資料行名稱、資料類型等等。若這些欄位不正確 (例如,資料類型應為 float,而非 int),可於此處編輯。偵測到空值的資料行將會核取允許 Null。不過,如果預期資料行中有 Null,但資料行未核取允許 Null 時,則可在這裡更新資料表定義,以允許單一或所有資料行中的 Null。準備完成後請繼續進行。

7. 在摘要页面,这只是顯示目前設定的摘要頁面。若有問題,可返回先前的區段。否則,請按一下完成以嘗試匯入程序。

8. 在結果页面,此頁面會指出匯入是否成功。若出現綠色核取記號就表示成功,否則可能需要檢閱設定或輸出檔,以了解錯誤。