sql >> Database teknologi >  >> RDS >> SQLite

Formater SQLite-forespørgselsresultater som en kommasepareret liste

SQLite har flere tilstande og indstillinger, der gør det muligt for dig at udlæse forespørgselsresultater som en kommasepareret liste.

For eksempel kan du bruge .separator dot-kommando for at angive et komma som separator. Eller du kan bruge "citat"-tilstanden til at formatere output som strenge bogstaver.

Men i forbindelse med denne artikel vil jeg bruge csv mode, som formaterer resultaterne som en kommasepareret liste, samt med dobbelte anførselstegn omkring strenge. Interne dobbelte anførselstegn er dobbelte anførselstegn.

Eksempel

I dette eksempel skifter jeg til csv tilstand, og vælg derefter data fra 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

Bemærk, at de interne dobbelte anførselstegn var dobbelte anførselstegn, men det interne enkelt anførselstegn var det ikke.

Hvis du vil se dette sammenlignet med SQLite-standardtilstanden (rørsepareret liste), her bruger den denne tilstand.

.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

Tilføj kolonneoverskrifter

Du kan også tilføje kolonneoverskrifter (kolonnenavne) ved at bruge .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

Hvis du vil fjerne headers, kan du bruge .headers off .

Gem dine indstillinger

Indstilling af tilstanden på denne måde indstiller den kun til den aktuelle session. Hvis du åbner en ny forbindelse til SQLite, vil den vende tilbage til standardindstillingerne.

Hvis du vil have dine indstillinger til at fortsætte, så du ikke behøver at blive ved med at ændre tilstanden hver gang du opretter forbindelse til SQLite, kan du gemme dine indstillinger i en .sqliterc fil.

For at gøre dette skal du indtaste følgende i en tom tekstfil:

.headers on
.mode csv

Gem det derefter som .sqliterc i din hjemmemappe.

Når du nu bruger SQLite-kommandolinjeskallen, vil den først tjekke din .sqliterc fil for eventuelle indstillinger.

GROUP_CONCAT() Funktion

Du kan alternativt bruge Group_Concat() funktion til at konvertere forespørgselsresultater til en kommasepareret liste fra selve en SQL-forespørgsel.


  1. Sådan bruges Udfør øjeblikkelig med INTO-klausul i Oracle-databasen

  2. Bevarer ORDER BY i SELECT INTO

  3. Parser til Oracle SQL

  4. Hvordan undgår man at SSIS FTP-opgave mislykkes, når der ikke er nogen filer at downloade?