MENU
DB

SQL Serverでbcpコマンドを利用してみた

bcpコマンドを利用すると、SQL ServerのテーブルのデータをCSVファイルに出力したり、逆にCSVファイルのデータをSQL Serverのテーブルに書き込んだりすることができる。

今回は、bcpコマンドを利用してみたので、その手順を共有する。

なお、bcpコマンドについては、以下のサイトを参照のこと。
https://mr-star.hatenablog.com/entry/sqlserver/020

前提条件

下記記事のように、A5M2を利用してSQL Serverに接続できていること。

A5M2を利用して各DBに接続してみたA5M2(A5:SQL Mk-2)は、SQL文の入力支援やER図作成などの機能を備えていて、Oracle、MySQL、PostgreSQ...

やってみたこと

  1. SQL Serverにテーブルを作成
  2. bcpコマンドによるCSVエクスポート
  3. bcpコマンドによるCSVインポート

SQL Serverにテーブルを作成

bcpコマンドの実行を行うために、SQL Serverに新しくemployeeテーブルを作成し、データを追加する。その手順は、以下の通り。

1) create table文を利用して、employeeテーブルを作成する。

テーブルの作成_1

2) A5M2上で、複数のinsert文を全て選択した状態で、実行ボタンを押下することで、employeeテーブルにデータをまとめて追加する。

テーブルの作成_2_1 テーブルの作成_2_2

3) select文を利用して、employeeテーブルに追加したデータが出力されることを確認する。

テーブルの作成_3



ウズウズカレッジJavaコースはわかりやすい動画教材と充実した就業サポートで優良企業を目指せるプログラミングスクールだったJavaは、世界中で広く使われていて、現在の需要が高く将来性もある開発言語になります。 https://www.acrovision....

bcpコマンドによるCSVエクスポート

bcpコマンドを利用すると、SQL Serverのテーブルのデータを、CSVファイルに出力することができる。その手順は、以下の通り。

1) スタートメニューを起動し、「Windows システムツール」から「コマンドプロンプト」を選択する。
bcp_エクスポート_1

2) bcpコマンドの配置されているディレクトリに移動する。

bcp_エクスポート_2_1

 なお、以下の「bcp.exe」が、bcpコマンドになる。
bcp_エクスポート_2_2

3) bcpコマンドを利用して、employeeテーブルのデータをCSVファイル出力する。

bcp_エクスポート_3

なお、bcpコマンドは、「bcp (テーブル名) out (出力するCSVファイル名) -c -q -S (ホスト名) -U (ユーザー名) -P (パスワード) -t (区切り文字) -d (データベース名)」という形式で指定している。

4) 3)で出力されたCSVファイルの内容は、以下の通り。
bcp_エクスポート_4



フリエン(furien)は多くの案件を保有しフリーランス向けサービスも充実しているエージェントだったフリエン(furien)は、ITフリーランス(個人事業主)エンジニア専門のエージェントであるアン・コンサルティング株式会社が運営する業界...

bcpコマンドによるCSVインポート

bcpコマンドを利用すると、CSVファイルのデータを、SQL Serverのテーブルに追加することができる。その手順は、以下の通り。

1) インポートする予定のCSVファイルの内容は、以下の通り。
bcp_インポート_1

2) インポートする前のemployeeテーブルのデータは、以下の通り。
bcp_インポート_2

3) コマンドプロンプトを起動し、bcpコマンドの配置されているディレクトリに移動する。

bcp_インポート_3

4) bcpコマンドを利用して、CSVファイルのデータをemployeeテーブルに追加する。

bcp_インポート_4

なお、bcpコマンドは、「bcp (テーブル名) in (インポートするCSVファイル名) -c -q -S (ホスト名) -U (ユーザー名) -P (パスワード) -t (区切り文字) -d (データベース名)」という形式で指定している。

5) インポートした後のemployeeテーブルのデータは、以下の通り。
bcp_インポート_5

6) 4)で実行したコマンドを再度実行すると、以下のように、PRIMARY KEY重複エラーとなってしまうことが確認できる。
bcp_インポート_6

要点まとめ

  • bcpコマンドを利用すると、SQL ServerのテーブルのデータをCSVファイルに出力したり、逆にCSVファイルのデータをSQL Serverのテーブルに書き込んだりすることができる。