SQLite
 sql >> Database >  >> RDS >> SQLite

Modificare il separatore in una virgola nei risultati della query SQLite

Per impostazione predefinita, la shell della riga di comando di SQLite formatta l'output della query come un elenco separato da pipe, senza intestazioni di colonna.

Se devi produrre i risultati usando le virgole invece del simbolo pipe, puoi specificarlo con il .separator comando punto.

Se è necessario formattare i risultati come stringhe letterali, vedere Come racchiudere stringhe in virgolette singole. Oppure, se hai bisogno che le stringhe siano racchiuse tra virgolette, vedi Come formattare i risultati come CSV.

Esempio

Ecco un esempio.

.separator ","

Questo cambia il separatore in una virgola.

Quindi, dopo aver inserito quel comando, se eseguo la seguente query:

SELECT * FROM Products;

Il risultato è simile al seguente:

1,Widget Holder,139.5
2,Widget Opener,89.7
3,Widgets - 6 Pack,374.2
4,Blue Widget,63.0

Se necessario, puoi aggiungere uno spazio dopo la virgola:

.separator ", "
SELECT * FROM Products;

Risultato:

1, Widget Holder, 139.5
2, Widget Opener, 89.7
3, Widgets - 6 Pack, 374.2
4, Blue Widget, 63.0

Aggiungi intestazioni di colonna

Se necessario, puoi anche aggiungere intestazioni di colonna. Per fare ciò, usa il .header comando punto.

.headers on
SELECT * FROM Products;

Risultato:

ProductId, ProductName, Price
1, Widget Holder, 139.5
2, Widget Opener, 89.7
3, Widgets - 6 Pack, 374.2
4, Blue Widget, 63.0

Salva queste impostazioni

Ogni volta che ti connetti a SQLite in una nuova finestra del terminale, scoprirai che queste impostazioni vengono ripristinate alle impostazioni predefinite di SQLite.

Per ovviare a questo problema, puoi salvare le tue impostazioni in un .sqliterc file, in modo da non dover continuare a eseguire gli stessi comandi punto ogni volta che ti connetti a SQLite.

Per fare ciò, inserisci i tuoi comandi in un file di testo vuoto:

.mode list
.separator ", "
.headers on

Quindi salvalo come .sqliterc nella tua/(dell'utente) home directory.

Ora, ogni volta che ti connetti a SQLite in una nuova finestra di terminale, i risultati della tua query verranno emessi utilizzando virgole come separatori e con intestazioni di colonna.