SQLiteコマンドラインシェルを使用する場合、.mode
を使用して、クエリ結果をCSVファイルにエクスポートできます。 .output
と組み合わせたdotコマンド または.once
コマンド。
.system
を使用することもできます そのファイルを開くコマンド。
1つのクエリをエクスポート
単一のクエリのみをCSVファイルにエクスポートする場合は、.once
を使用します 。これにより、次のSQLステートメントの結果が指定されたファイルにエクスポートされ、コンソールに戻ります。
.headers on
.mode csv
.once query_results.csv
SELECT * FROM Products;
この場合、列ヘッダーを有効にします。次に、「csv」モードに切り替えてから、.once
を使用します 次のクエリのみをquery_results.csvというファイルにエクスポートするように指定するコマンド 。
次に、クエリを実行します。その結果は、指定されたファイルにエクスポートされます。
ファイルを開くと、次のようになります。
ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0
以降のクエリはすべて画面に出力されます。
列ヘッダーが必要ない場合は、.headers off
を使用します .headers on
の代わりに 。
すべてのクエリをエクスポート
複数のクエリを実行する必要があり、そのすべてを同じCSVファイルに保存/追加する必要がある場合は、.output
を使用します。 。
.output query_results2.csv
SELECT * FROM Products;
SELECT * FROM Products LIMIT 2;
この場合、出力ファイルを設定してから、2つのクエリを実行しました。
ファイルの内容は次のとおりです。
ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0 ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7
繰り返しになりますが、列ヘッダーが必要ない場合は、.headers off
を使用してください 。
最初の行にのみ列ヘッダーが必要な場合は、それらを有効にして、最初のクエリを実行した後で無効にすることができます。このように:
.headers on
.output query_results2.csv
SELECT * FROM Products;
.headers off
SELECT * FROM Products LIMIT 2;
結果:
ProductId,ProductName,Price 1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0 1,"Widget Holder",139.5 2,"Widget Opener",89.7
CSVファイルを自動的に開く
.system
を使用できます CSVファイルを開くコマンド。使用する正確な構文は、システムによって異なります。
Macで前のファイルを開く方法は次のとおりです。
.system open query_results2.csv
これは、ファイルと同じディレクトリにいることを前提としています。それ以外の場合は、フルパスを使用する必要があります。
これにより、CSVファイルを開くためのシステムのデフォルトアプリケーションでファイルが開きます。たとえば、これはMicrosoft Excel、LibreOffice、システムのデフォルトのテキストエディタなどです。
Windowsシステムでは、コードは次のようになります。
.system c:/data/query_results2.csv
Linux / Unixの場合:
.system xdg-open query_results2.csv