Domyślnie, gdy łączysz się z powłoką wiersza poleceń SQLite i uruchamiasz zapytanie, wynik jest zwracany jako lista oddzielona potokami.
Być może zauważyłeś, że wyniki nie zawierają nazw kolumn, co może być mylące, jeśli próbujesz je odczytać, zwłaszcza jeśli zapytanie zwróciło wiele kolumn.
Na szczęście istnieje prosty sposób na sformatowanie danych wyjściowych tak, aby były wyświetlane jako kolumna z nagłówkami kolumn.
Domyślne wyjście
Jako przykład, oto jak interfejs wiersza poleceń SQLite domyślnie wyświetla wyniki zapytania:
SELECT * FROM Products;
Wynik:
1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Nie ma więc nagłówków kolumn i są one wyświetlane jako lista oddzielona pionami.
Dodaj nagłówki kolumn
Aby dodać nazwy kolumn do każdej kolumny, użyj .headers on
.
.headers on
SELECT * FROM Products;
Wynik:
ProductId|ProductName|Price 1|Widget Holder|139.5 2|Widget Opener|89.7 3|Widgets - 6 Pack|374.2 4|Blue Widget|63.0
Możesz wyłączyć nagłówki, używając .headers off
.
Formatuj wyniki jako kolumnę
Możesz także użyć .mode column
aby sformatować wyniki jako kolumnę.
.mode column
SELECT * FROM Products;
Wynik:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 P 374.2 4 Blue Widget 63.0
Jeśli chcesz przywrócić domyślny format, możesz użyć .mode list
.
Zmień szerokość kolumny
Możesz zauważyć, że w poprzednim przykładzie jedna z nazw produktów została skrócona. Dzieje się tak, ponieważ jest szerszy niż szerokość kolumny.
Domyślnie każda kolumna ma szerokość od 1 do 10 znaków, w zależności od nazwy nagłówka kolumny i szerokości pierwszej kolumny danych. Dane, które są zbyt szerokie, aby zmieścić się w kolumnie, są obcinane.
Możesz jednak użyć .width
polecenie kropki, aby ustawić kolumny na określoną szerokość.
Oto jak możemy naprawić poprzedni przykład, aby trzeci produkt nie został obcięty.
.width 0 16 0
SELECT * FROM Products;
Wynik:
ProductId ProductName Price ---------- ---------------- ---------- 1 Widget Holder 139.5 2 Widget Opener 89.7 3 Widgets - 6 Pack 374.2 4 Blue Widget 63.0
Być może zastanawiasz się, dlaczego ustawiam pierwszą i trzecią kolumnę na zero?
Używając wartości 0
faktycznie powoduje, że kolumna dopasowuje się samoczynnie (do pewnego punktu). Określanie 0
ustawia kolumnę na większą z trzech liczb; 10, szerokość nagłówka i szerokość pierwszego wiersza danych.
W moim przypadku działa to dobrze dla pierwszej i trzeciej kolumny, ale nie dla drugiej kolumny. Dlatego ustawiłem tę kolumnę na 16
(czyli ile znaków używa trzeci produkt).
Przywróć domyślne
Jeśli chcesz na krótko zresetować dane wyjściowe, aby używały domyślnych ustawień SQLite (tj. Listy oddzielonej pionami bez nagłówków kolumn), możesz po prostu otworzyć nowe okno terminala i stamtąd uruchamiać polecenia. SQLite użyje w tym przypadku swoich ustawień domyślnych.
Lub jeśli chcesz zresetować bieżące okno terminala do ustawień domyślnych, zawsze możesz użyć następującego:
.headers off
.mode list
.separator "|"
W tym przypadku dodałem .separator
polecenie kropka, na wypadek, gdybyś wcześniej zmienił separator.
Jeśli się zastanawiasz, tak, możesz użyć .separator ", "
aby wyprowadzić wyniki jako listę oddzieloną przecinkami.
Zachowaj ustawienia kolumny
Jak wspomniano, za każdym razem, gdy otworzysz nowe okno terminala, aby połączyć się z SQLite, zapytania powrócą do domyślnego formatu SQLite (lista oddzielona pionami).
Aby uniknąć konieczności ponownego wpisywania powyższych poleceń za każdym razem, gdy łączysz się z SQLite, możesz wpisać je w .sqliterc
plik.
Na przykład otwórz pusty plik tekstowy i wprowadź następujące informacje:
.mode column
.headers on
Zapisz plik jako .sqliterc
do katalogu domowego użytkownika, a SQLite użyje go przy każdym połączeniu.
Na przykład, jeśli katalog domowy użytkownika to /Users/bart , umieściłbyś go w tym katalogu, tak aby znajdował się w /Users/bart/.sqliterc .
Jest to ukryty plik, więc w zależności od systemu możesz otrzymać różne monity z prośbą o potwierdzenie itp. Po prostu zgadzaj się z monitami, dopóki nie zostanie zapisany w katalogu domowym użytkownika.