TechBox

業務で使えそうな技術を紹介します。

【SQLServer】CSVファイルをインポートし、テーブルを作成する

SQLServerでCSVからデータをインポートし、テーブルを作成する方法を紹介します。


SQLServerを使っていると、テーブルをCSVのデータと結合させて更新を行いたいというパターンが時々発生します。

CSVファイルをSQLServerにインポート

例として次のようなCSVファイルを取り込んでみるとします。
f:id:hotkou:20180305143940p:plain

手順通り行うことで、次のようにテーブル化されます。
f:id:hotkou:20180410144909p:plain

手順

SQLSeverManagementStudioを起動します。

対象のデータベースを右クリック>タスク>データのインポートをクリックします。
f:id:hotkou:20180305140357p:plain


次へをクリックします。
f:id:hotkou:20180305140618p:plain


データソースは【フラットファイルソース】を選択し、【参照】をクリックし、取り込みするCSVファイルを選択後、【次へ】をクリックします。
f:id:hotkou:20180305140951p:plain


問題なければ、そのまま次へクリックします。
f:id:hotkou:20180305141219p:plain


変換先は【SQLServer Native Client】を選択します。(SQLServer2014の場合はNativeClient 11.0)
対象のサーバー名、対象のデータベース名を入力し、【次へ】をクリックします。
f:id:hotkou:20180305141501p:plain


そのまま【次へ】をクリックします。
f:id:hotkou:20180305141854p:plain


そのまま【完了】をクリックします。
f:id:hotkou:20180305141958p:plain


そのまま【完了】をクリックすると、インポートが始まります。
f:id:hotkou:20180305142031p:plain


次のようになればインポート完了です。
f:id:hotkou:20180305142216p:plain


実際に取り込まれていることが分かります。
f:id:hotkou:20180305142502p:plain


テーブル名はオブジェクトエクスプローラーより変更できます。
f:id:hotkou:20180305142602p:plain


デフォルト設定のままだと、すべてのカラムは文字列型になってしまいます。変更がある場合は対象のテーブルを右クリック>【構造】を選択し、
任意にカラムの型等を変更します。
f:id:hotkou:20180305143200p:plain


最終的にインポートしたテーブルを元に他テーブルを更新したい場合は、テーブル結合して更新しましょう。
次の記事を参考にしてください。
devlog.hatenablog.jp




以上です。