SQLite heeft verschillende modi en instellingen waarmee u queryresultaten kunt uitvoeren als een door komma's gescheiden lijst.
U kunt bijvoorbeeld de .separator
. gebruiken dot-opdracht om een komma als scheidingsteken op te geven. Of u kunt de "quote"-modus gebruiken om de uitvoer op te maken als letterlijke tekenreeksen.
Voor de doeleinden van dit artikel ga ik echter csv
. gebruiken modus, die de resultaten opmaakt als een door komma's gescheiden lijst, evenals met dubbele aanhalingstekens rond tekenreeksen. Interne dubbele aanhalingstekens zijn dubbele aanhalingstekens.
Voorbeeld
In dit voorbeeld schakel ik over naar csv
modus en selecteer vervolgens gegevens uit de database.
.mode csv
SELECT * FROM Products;
Resultaat:
1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0
Merk op dat de interne dubbele aanhalingstekens dubbele aanhalingstekens waren, maar de interne enkele aanhalingstekens niet.
Als je dit wilt zien in vergelijking met de SQLite-standaardmodus (door buizen gescheiden lijst), wordt hier die modus gebruikt.
.mode list
SELECT * FROM Products;
Resultaat:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Bob's "Best" Widget|374.2 4|Blue Widget|63.0
Kolomkoppen toevoegen
U kunt ook kolomkoppen (kolomnamen) toevoegen met behulp van .headers on
.
.headers on
.mode csv
SELECT * FROM Products;
Resultaat:
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
Als u headers wilt verwijderen, kunt u .headers off
. gebruiken .
Sla je instellingen op
Als u de modus op deze manier instelt, wordt deze alleen voor de huidige sessie ingesteld. Als u een nieuwe verbinding met SQLite opent, keert deze terug naar de standaardinstellingen.
Als u wilt dat uw instellingen behouden blijven, zodat u niet telkens de modus hoeft te wijzigen wanneer u verbinding maakt met SQLite, kunt u uw instellingen opslaan in een .sqliterc bestand.
Voer hiervoor het volgende in een leeg tekstbestand in:
.headers on
.mode csv
Sla dat dan op als .sqliterc in je thuismap.
Wanneer u nu de SQLite-opdrachtregelshell gebruikt, controleert deze eerst uw .sqliterc bestand voor eventuele instellingen.
De GROUP_CONCAT()
Functie
U kunt ook de Group_Concat()
. gebruiken functie om queryresultaten te converteren naar een door komma's gescheiden lijst vanuit een SQL-query zelf.