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

Formatieren Sie die SQLite-Abfrageergebnisse als kommagetrennte Liste

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.