SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Formatuj wyniki zapytania SQLite jako kolumny z nagłówkami kolumn

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaktualizować istniejące dane za pomocą SQLite

  2. Jak działa SQLite Rtrim()

  3. SQLite CROSS JOIN z praktycznym przykładem

  4. Utwórz tabelę w SQLite

  5. group_concat i jak używać numeru wiersza w sqlite