Sie können die .output
verwenden oder .once
dot-Befehle zum Speichern Ihrer Abfrageergebnisse in einer Textdatei, wenn Sie die SQLite-CLI verwenden.
Der .once-Befehl
Wenn Sie nur eine einzelne Abfrage in einer Datei speichern möchten, verwenden Sie den .once
Befehl.
Die .once
Befehl gibt an, dass die nächste Abfrage an die angegebene Datei gesendet wird. Alle weiteren Abfragen kehren zur Standardausgabe (der Konsole) zurück.
.headers on
.mode column
.once query_results.txt
SELECT * FROM Products;
Der obige Code gibt die Ergebnisse in eine Textdatei namens query_results.txt aus im aktuellen Verzeichnis. Verwenden Sie den vollständigen Pfad, wenn Sie ein anderes Verzeichnis angeben müssen.
In diesem Fall habe ich auch Spaltenüberschriften aktiviert und den Modus auf „Spalte“ gesetzt.
Hier ist der Inhalt der Textdatei:
ProductId ProductName Price
---------- ------------- ----------
1 Widget Holder 139.5
2 Widget Opener 89.7
3 Bob's "Best" 374.2
4 Blue Widget 63.0
Die Tatsache, dass ich .once
verwendet habe bedeutet, dass alle weiteren Anfragen an die Konsole ausgegeben werden.
Wenn alle weiteren Abfragen in der Textdatei gespeichert werden sollen, verwenden Sie .output
.
Der .output-Befehl
Die .output
Befehl gibt an, dass alle weiteren Ausgaben an die angegebene Datei gesendet werden.
Alle nachfolgenden Abfrageergebnisse werden an den vorhandenen Inhalt angehängt.
Nehmen Sie zum Beispiel den folgenden Code:
.output query_results2.txt
SELECT * FROM Products;
SELECT * FROM Products LIMIT 2;
In diesem Fall habe ich zwei Abfragen ausgeführt.
Hier ist, was die resultierende Textdatei enthält:
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
Daher wurden die Ergebnisse beider Abfragen eingeschlossen. Wir können sehen, dass die zweite Abfrage angehängt wurde.
Beachten Sie, dass ich .headers on
nicht angeben musste oder .mode column
in diesem Beispiel, weil ich das bereits in meinem vorherigen Beispiel angegeben hatte. Diese Einstellungen bleiben in der aktuellen Sitzung, bis sie ausdrücklich geändert werden.
Ausgabe auf dem Bildschirm zurücksetzen
Sie können den folgenden Befehl verwenden, um die Ausgabe auf die Standardausgabe (die Konsole) zurückzusetzen:
.output stdout
Alternativ können Sie einfach jedes Argument weglassen:
.output
Textdatei automatisch öffnen
Sie können das .system
verwenden Befehl, um Ihre Textdatei zu öffnen. Die genaue Syntax, die Sie verwenden, hängt von Ihrem System ab.
So öffnen Sie die vorherige Datei auf einem Mac:
.system open query_results2.txt
Dies setzt voraus, dass Sie sich im selben Verzeichnis wie die Datei befinden. Andernfalls müssen Sie den vollständigen Pfad verwenden.
Dadurch wird die Datei in der Standardanwendung des Systems zum Öffnen von Textdateien geöffnet.
Auf einem Windows-System könnte Ihr Code eher so aussehen:
.system c:/data/query_results2.txt
Unter Linux/Unix:
.system xdg-open query_results2.txt