Per impostazione predefinita, l'interfaccia della riga di comando di SQLite visualizza i risultati della query utilizzando un elenco separato da pipe, senza intestazioni di colonna.
Questo potrebbe andare bene se stai usando i risultati in un'applicazione che non ha bisogno dei nomi delle colonne, ma se sei solo un essere umano, può rendere difficile la lettura dei dati, specialmente se ci sono molte colonne.
Fortunatamente, esiste un modo rapido per presentare i nomi delle colonne nei risultati della query.
In realtà, ci sono almeno un paio di modi per farlo, e li spiego in questo articolo.
Il comando .headers
Il modo più ovvio per visualizzare le intestazioni di colonna nei risultati della query è con .headers
comando. Questo accetta un parametro e il valore di quel parametro deve essere on
o off
.
Davvero abbastanza semplice. Pertanto, per abilitare le intestazioni di colonna, usa semplicemente .headers on
.
Ecco un esempio per farlo, quindi eseguire una query:
.headers on
SELECT * FROM Products;
Risultato:
ProductId|ProductName|Price 1|Blue Widgets (6 Pack)|389.45 2|Widget Holder|139.5 3|Widget Opener|89.27 4|Foobar Set|120.0
Come accennato, puoi disabilitare le intestazioni di colonna usando .headers off
.
Ecco la stessa query, ma con le intestazioni di colonna disabilitate:
.headers off
SELECT * FROM Products;
Risultato:
1|Blue Widgets (6 Pack)|389.45 2|Widget Holder|139.5 3|Widget Opener|89.27 4|Foobar Set|120.0
Se desideri visualizzare anche i risultati nelle colonne, consulta Come visualizzare i risultati di SQLite nelle colonne.
Modalità linea
La shell della riga di comando di SQLite consente anche di utilizzare la modalità "linea". Quando si esegue questa operazione, i risultati della query vengono visualizzati verticalmente, in modo che ogni colonna sia elencata su una nuova riga. Quando si utilizza questa modalità, vengono visualizzati anche i nomi delle colonne, utilizzando il formato nome_colonna =valore .
Ecco un esempio:
.headers off
.mode line
SELECT * FROM Products;
Risultato:
ProductId = 1 ProductName = Blue Widgets (6 Pack) Price = 389.45 ProductId = 2 ProductName = Widget Holder Price = 139.5 ProductId = 3 ProductName = Widget Opener Price = 89.27 ProductId = 4 ProductName = Foobar Set Price = 120.0
Si noti che ho disabilitato esplicitamente le intestazioni di colonna, ma sono state comunque stampate, utilizzando .mode line
visualizza comunque le intestazioni delle colonne. Probabilmente non è una cosa così negativa. Immagina quanto sarebbe difficile cercare di decifrare quale colonna rappresentava ciascuna riga se non potessimo vedere i nomi delle colonne.