Azure Data Lake Storageを使ってSQL ServerからCSV形式でデータをエクスポートする方法
SQL Server から CSV 形式でデータをエクスポートする方法 (sqlcmd 使用)
必要条件:
- SQL Server インスタンス
- sqlcmd コマンドラインツール (SQL Server Management Studio に含まれています)
手順:
-
コマンドプロンプトを開く
-
sqlcmd コマンドを実行
以下のコマンドを実行します。
sqlcmd -S <サーバー名> -U <ユーザー名> -P <パスワード> -Q "SELECT * FROM <テーブル名> ORDER BY <列名>" -o <出力ファイル名>.csv
コマンドパラメータ:
-S <サーバー名>
: SQL Server インスタンスの名前-P <パスワード>
: ユーザーのパスワード-Q "SELECT * FROM <テーブル名> ORDER BY <列名>"
: エクスポートするデータを取得する SQL クエリ-o <出力ファイル名>.csv
: 出力ファイルの名前
例:
sqlcmd -S localhost -U sa -P P@ssw0rd -Q "SELECT * FROM Customers ORDER BY LastName" -o customers.csv
このコマンドは、Customers
テーブルのすべてのデータを customers.csv
という名前の CSV ファイルにエクスポートします。
その他のオプション:
-h
または/?
: コマンドラインヘルプを表示-t
: 結果をタブ区切り形式で出力
補足:
- 上記のコマンドは、単一のテーブルからデータをエクスポートするためのものです。複数のテーブルからデータをエクスポートするには、複数の
SELECT
ステートメントを結合する必要があります。 - 出力ファイルのエンコードは、OS のデフォルトエンコードになります。必要に応じて、
-b
オプションを使用してエンコードを指定できます。
sqlcmd -S localhost -U sa -P P@ssw0rd -Q "SELECT * FROM Customers ORDER BY LastName" -o customers.csv
-S localhost
: SQL Server インスタンスの名前はlocalhost
です。-U sa
: SQL Server に接続するユーザー名はsa
です。-P P@ssw0rd
: ユーザーのパスワードはP@ssw0rd
です。-Q "SELECT * FROM Customers ORDER BY LastName"
:Customers
テーブルのすべてのデータをLastName
列で昇順に並べ替えて取得します。-o customers.csv
: 出力ファイルの名前はcustomers.csv
です。
実行方法:
- 上記のコマンドを入力して Enter キーを押します。
出力結果:
customers.csv
ファイルには、以下の内容が出力されます。
"CustomerID","FirstName","LastName","Email","Phone"
"1","John","Doe","[email protected]","(555) 555-5555"
"2","Jane","Doe","[email protected]","(555) 555-5556"
その他のサンプル:
- 特定の列のみをエクスポートする:
sqlcmd -S localhost -U sa -P P@ssw0rd -Q "SELECT FirstName, LastName FROM Customers ORDER BY LastName" -o customers.csv
- WHERE 句を使用してデータをフィルターする:
sqlcmd -S localhost -U sa -P P@ssw0rd -Q "SELECT * FROM Customers WHERE Country = 'USA' ORDER BY LastName" -o customers.csv
SQL Server から CSV 形式でデータをエクスポートする他の方法
方法
-
SSMS (SQL Server Management Studio)
-
サードパーティ製ツール
各方法の利点と欠点
方法 | 利点 | 欠点 |
---|---|---|
sqlcmd | コマンドラインツールなので、スクリプティングや自動化に適している | コマンドライン操作に慣れていないと使いにくい |
SSMS | GUI ツールなので、使いやすい | インストールが必要 |
Power BI Desktop | データ分析と可視化も同時にできる | インストールが必要 |
Azure Data Lake Storage | クラウドベースなので、場所を選ばずにアクセスできる | Azure のサブスクリプションが必要 |
サードパーティ製ツール | 多様な機能を提供している | ツールによって機能や価格が異なる |
sql-server file csv