SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Exportieren Sie SQLite-Abfrageergebnisse in eine CSV-Datei

Wenn Sie die SQLite-Befehlszeilen-Shell verwenden, können Sie Ihre Abfrageergebnisse mithilfe von .mode in eine CSV-Datei exportieren dot-Befehl in Verbindung mit .output oder .once Befehle.

Sie können auch das .system verwenden Befehl zum Öffnen dieser Datei.

Eine Abfrage exportieren

Wenn Sie nur eine einzelne Abfrage in eine CSV-Datei exportieren möchten, verwenden Sie .once . Dies exportiert die Ergebnisse der nächsten SQL-Anweisung in die angegebene Datei und kehrt dann zur Konsole zurück.

.headers on
.mode csv
.once query_results.csv
SELECT * FROM Products;

In diesem Fall aktiviere ich Spaltenüberschriften. Ich wechsle dann in den „csv“-Modus und verwende dann den .once Befehl, um anzugeben, dass nur die nächste Abfrage in eine Datei namens query_results.csv exportiert werden soll .

Dann führe ich die Abfrage aus, deren Ergebnisse in die angegebene Datei exportiert werden.

Wenn ich die Datei öffne, enthält sie Folgendes:

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

Alle nachfolgenden Abfragen werden auf dem Bildschirm ausgegeben.

Wenn Sie keine Spaltenüberschriften wünschen, verwenden Sie .headers off statt .headers on .

Alle Abfragen exportieren

Wenn Sie mehrere Abfragen ausführen müssen, die alle in derselben CSV-Datei gespeichert/angehängt werden müssen, verwenden Sie .output .

.output query_results2.csv
SELECT * FROM Products;
SELECT * FROM Products LIMIT 2;

In diesem Fall habe ich die Ausgabedatei festgelegt und dann zwei Abfragen ausgeführt.

Folgendes enthält die Datei:

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

Wenn Sie keine Spaltenüberschriften wünschen, verwenden Sie erneut .headers off .

Wenn Sie Spaltenüberschriften nur in der ersten Zeile haben möchten, können Sie sie aktivieren und dann deaktivieren, nachdem Sie die erste Abfrage ausgeführt haben. So:

.headers on
.output query_results2.csv
SELECT * FROM Products;
.headers off
SELECT * FROM Products LIMIT 2;

Ergebnis:

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-Datei automatisch öffnen

Sie können das .system verwenden Befehl zum Öffnen Ihrer CSV-Datei. 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.csv

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 CSV-Dateien geöffnet. Dies könnte beispielsweise Microsoft Excel, LibreOffice, der Standard-Texteditor Ihres Systems usw. sein.

Auf einem Windows-System könnte Ihr Code eher so aussehen:

.system c:/data/query_results2.csv

Unter Linux/Unix:

.system xdg-open query_results2.csv