SQLite har flera lägen och inställningar som gör att du kan mata ut frågeresultat som en kommaseparerad lista.
Du kan till exempel använda .separator
punktkommando för att ange ett kommatecken som avgränsare. Eller så kan du använda "citat"-läget för att formatera utdata som bokstavliga strängar.
Men för denna artikels syften kommer jag att använda csv
läge, som formaterar resultaten som en kommaseparerad lista, samt med dubbla citattecken runt strängar. Interna dubbla citattecken är dubbla citattecken.
Exempel
I det här exemplet byter jag till csv
läge och välj sedan data från databasen.
.mode csv
SELECT * FROM Products;
Resultat:
1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0
Observera att de interna dubbla citattecken var dubbla citattecken, men de interna enkla citattecken var det inte.
Om du vill se detta jämfört med SQLites standardläge (rörseparerad lista), här använder du det läget.
.mode list
SELECT * FROM Products;
Resultat:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Bob's "Best" Widget|374.2 4|Blue Widget|63.0
Lägg till kolumnrubriker
Du kan också lägga till kolumnrubriker (kolumnnamn) genom att använda .headers on
.
.headers on
.mode csv
SELECT * FROM Products;
Resultat:
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
Om du vill ta bort rubriker kan du använda .headers off
.
Spara dina inställningar
Om du ställer in läget så här ställs det bara in för den aktuella sessionen. Om du öppnar en ny anslutning till SQLite kommer den att återgå till standardinställningarna.
Om du vill att dina inställningar ska bestå, så att du inte behöver fortsätta att ändra läget varje gång du ansluter till SQLite, kan du lagra dina inställningar i en .sqliterc fil.
För att göra detta, skriv in följande i en tom textfil:
.headers on
.mode csv
Spara sedan det som .sqliterc i din hemkatalog.
Nu när du använder kommandoradsskalet SQLite kontrollerar det först din .sqliterc fil för alla inställningar.
GROUP_CONCAT()
Funktion
Du kan alternativt använda Group_Concat()
funktion för att konvertera frågeresultat till en kommaseparerad lista från själva SQL-frågan.