SQLite verfügt über mehrere Modi und Einstellungen, mit denen Sie Abfrageergebnisse als kommagetrennte Liste ausgeben können.
Sie können beispielsweise den .separator
verwenden dot-Befehl, um ein Komma als Trennzeichen anzugeben. Oder Sie könnten den „Quote“-Modus verwenden, um die Ausgabe als String-Literale zu formatieren.
Für die Zwecke dieses Artikels werde ich jedoch csv
verwenden -Modus, der die Ergebnisse als durch Kommas getrennte Liste sowie mit doppelten Anführungszeichen um Zeichenfolgen formatiert. Interne doppelte Anführungszeichen werden in doppelte Anführungszeichen gesetzt.
Beispiel
In diesem Beispiel wechsle ich zu csv
wählen Sie dann Daten aus der Datenbank aus.
.mode csv
SELECT * FROM Products;
Ergebnis:
1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0
Beachten Sie, dass die internen doppelten Anführungszeichen in doppelte Anführungszeichen gesetzt wurden, das interne einfache Anführungszeichen jedoch nicht.
Wenn Sie dies im Vergleich zum SQLite-Standardmodus (durch Pipes getrennte Liste) sehen möchten, wird hier dieser Modus verwendet.
.mode list
SELECT * FROM Products;
Ergebnis:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Bob's "Best" Widget|374.2 4|Blue Widget|63.0
Spaltenüberschriften hinzufügen
Sie können auch Spaltenüberschriften (Spaltennamen) hinzufügen, indem Sie .headers on
verwenden .
.headers on
.mode csv
SELECT * FROM Products;
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
Wenn Sie Header entfernen möchten, können Sie .headers off
verwenden .
Speichern Sie Ihre Einstellungen
Wenn Sie den Modus so einstellen, wird er nur für die aktuelle Sitzung festgelegt. Wenn Sie eine neue Verbindung zu SQLite öffnen, wird es auf die Standardeinstellungen zurückgesetzt.
Wenn Sie möchten, dass Ihre Einstellungen beibehalten werden, sodass Sie den Modus nicht jedes Mal ändern müssen, wenn Sie sich mit SQLite verbinden, können Sie Ihre Einstellungen in einer .sqliterc-Datei speichern Datei.
Geben Sie dazu Folgendes in eine leere Textdatei ein:
.headers on
.mode csv
Dann speichern Sie das als .sqliterc in Ihrem Home-Verzeichnis.
Wenn Sie jetzt die SQLite-Befehlszeilen-Shell verwenden, prüft sie zuerst Ihre .sqliterc Datei für alle Einstellungen.
Der GROUP_CONCAT()
Funktion
Alternativ können Sie auch Group_Concat()
verwenden Funktion zum Konvertieren von Abfrageergebnissen in eine durch Kommas getrennte Liste innerhalb einer SQL-Abfrage selbst.