SQLite ma kilka trybów i ustawień, które umożliwiają wyświetlanie wyników zapytania w postaci listy rozdzielanej przecinkami.
Na przykład możesz użyć .separator
kropka, aby określić przecinek jako separator. Możesz też użyć trybu „cytat”, aby sformatować wyjście jako literały ciągu.
Jednak na potrzeby tego artykułu użyję csv
tryb, który formatuje wyniki jako listę oddzieloną przecinkami, a także z podwójnymi cudzysłowami wokół łańcuchów. Wewnętrzne cudzysłowy są cudzysłowami.
Przykład
W tym przykładzie przełączam się na csv
trybu, a następnie wybierz dane z bazy danych.
.mode csv
SELECT * FROM Products;
Wynik:
1,"Widget Holder",139.5 2,"Widget Opener",89.7 3,"Bob's ""Best"" Widget",374.2 4,"Blue Widget",63.0
Zwróć uwagę, że wewnętrzne cudzysłowy były cudzysłowami podwójnymi, ale wewnętrzny pojedynczy cudzysłów nie.
Jeśli chcesz to zobaczyć w porównaniu z domyślnym trybem SQLite (lista oddzielona pionami), tutaj używa tego trybu.
.mode list
SELECT * FROM Products;
Wynik:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Bob's "Best" Widget|374.2 4|Blue Widget|63.0
Dodaj nagłówki kolumn
Możesz także dodać nagłówki kolumn (nazwy kolumn), używając .headers on
.
.headers on
.mode csv
SELECT * FROM Products;
Wynik:
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
Jeśli chcesz usunąć nagłówki, możesz użyć .headers off
.
Zapisz swoje ustawienia
Ustawienie tego trybu w ten sposób ustawia go tylko na bieżącą sesję. Jeśli otworzysz nowe połączenie z SQLite, powróci ono do ustawień domyślnych.
Jeśli chcesz, aby Twoje ustawienia zostały zachowane, abyś nie musiał zmieniać trybu za każdym razem, gdy łączysz się z SQLite, możesz przechowywać swoje ustawienia w .sqliterc plik.
Aby to zrobić, wprowadź następujące dane do pustego pliku tekstowego:
.headers on
.mode csv
Następnie zapisz to jako .sqliterc w twoim katalogu domowym.
Teraz, gdy używasz powłoki wiersza poleceń SQLite, najpierw sprawdzi ona Twój .sqliterc plik dla dowolnych ustawień.
GROUP_CONCAT()
Funkcja
Możesz alternatywnie użyć Group_Concat()
funkcja konwersji wyników zapytania na listę oddzieloną przecinkami z samego zapytania SQL.