web-dev-qa-db-fra.com

SQLite: Comment enregistrer le résultat d'une requête sous forme de fichier CSV?

Je suis nouveau sur SQLite. Est-il possible d'exporter les résultats d'une requête dans un fichier CSV?

142
RayLoveless

De ici et le commentaire de d5e5:

Vous devrez basculer la sortie en mode csv et passer en sortie fichier.

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
225
gdw2

Pour inclure les noms de colonne dans votre fichier csv, vous pouvez procéder comme suit:

sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

Pour vérifier les modifications que vous avez apportées, vous pouvez exécuter cette commande:

sqlite> .show

Sortie:

echo: off   
explain: off   
headers: on   
mode: csv   
nullvalue: ""  
output: stdout  
separator: "|"   
stats: off   
width: 22 18 
134
Sai Bharath

Bonnes réponses de gdw2 et d5e5. Pour simplifier un peu, voici les recommandations rassemblées en une seule série de commandes:

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
23
crsierra

En plus des réponses ci-dessus, vous pouvez également utiliser .once de manière similaire à .output. Ceci génère niquement la requête suivante dans le fichier spécifié, de sorte que vous n’ayez pas à suivre avec .output stdout.

Donc, dans l'exemple ci-dessus

.mode csv
.headers on
.once test.csv
select * from tbl1;
20
Mat