.output
を使用できます または.once
SQLiteCLIを使用するときにクエリ結果をテキストファイルに保存するdotコマンド。
.onceコマンド
単一のクエリのみをファイルに保存する場合は、.once
を使用します コマンド。
.once
コマンドは、次のクエリが指定されたファイルに送信されることを指定します。それ以降のクエリは、標準出力(コンソール)に戻ります。
.headers on
.mode column
.once query_results.txt
SELECT * FROM Products;
上記のコードは、結果を query_results.txtというテキストファイルに出力します。 現在のディレクトリにあります。別のディレクトリを指定する必要がある場合は、フルパスを使用してください。
この場合、列ヘッダーも有効にし、モードを「列」に設定しました。
テキストファイルの内容は次のとおりです。
ProductId ProductName Price
---------- ------------- ----------
1 Widget Holder 139.5
2 Widget Opener 89.7
3 Bob's "Best" 374.2
4 Blue Widget 63.0
.once
を使用したという事実 これ以降のクエリはコンソールに出力されることを意味します。
それ以降のすべてのクエリをテキストファイルに保存する必要がある場合は、.output
を使用します 。
.outputコマンド
.output
コマンドは、それ以降のすべての出力が指定されたファイルに送信されることを指定します。
以降のクエリ結果は、既存のコンテンツに追加されます。
たとえば、次のコードを考えてみましょう。
.output query_results2.txt
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" 374.2
4 Blue Widget 63.0
ProductId ProductName Price
---------- ------------- ----------
1 Widget Holder 139.5
2 Widget Opener 89.7
したがって、両方のクエリの結果が含まれています。 2番目のクエリが追加されたことがわかります。
.headers on
を指定する必要がなかったことに注意してください または.mode column
この例では、前の例ですでに指定しているためです。これらの設定は、明示的に変更されるまで現在のセッションに残ります。
画面への出力をリセット
次のコマンドを使用して、出力を標準出力(コンソール)に戻すことができます。
.output stdout
または、引数を省略できます:
.output
テキストファイルを自動的に開く
.system
を使用できます テキストファイルを開くコマンド。使用する正確な構文は、システムによって異なります。
Macで前のファイルを開く方法は次のとおりです。
.system open query_results2.txt
これは、ファイルと同じディレクトリにいることを前提としています。それ以外の場合は、フルパスを使用する必要があります。
これにより、テキストファイルを開くためのシステムのデフォルトアプリケーションでファイルが開きます。
Windowsシステムでは、コードは次のようになります。
.system c:/data/query_results2.txt
Linux / Unixの場合:
.system xdg-open query_results2.txt