SQLite
 sql >> Base de données >  >> RDS >> SQLite

Exporter les résultats de la requête SQLite vers un fichier CSV

Lorsque vous utilisez le shell de ligne de commande SQLite, vous pouvez exporter les résultats de votre requête dans un fichier CSV en utilisant le .mode commande point en conjonction avec le .output ou .once commandes.

Vous pouvez également utiliser le .system commande pour ouvrir ce fichier.

Exporter une requête

Si vous ne souhaitez exporter qu'une seule requête vers un fichier CSV, utilisez .once . Cela exporte les résultats de la prochaine instruction SQL vers le fichier spécifié, puis revient à la console.

.headers on
.mode csv
.once query_results.csv
SELECT * FROM Products;

Dans ce cas, j'active les en-têtes de colonne. Je passe ensuite en mode "csv", puis j'utilise le .once commande pour spécifier que seule la requête suivante doit être exportée vers un fichier appelé query_results.csv .

J'exécute ensuite la requête dont les résultats sont exportés vers le fichier spécifié.

Si j'ouvre le fichier, voici ce qu'il contient :

ProductId,ProductName,Price
1,"Widget Holder",139.5
2,"Widget Opener",89.7
3,"Bob's ""Best"" Widget",374.2
4,"Blue Widget",63.0

Toutes les requêtes ultérieures seront affichées à l'écran.

Si vous ne voulez pas d'en-têtes de colonne, utilisez .headers off au lieu de .headers on .

Exporter toutes les requêtes

Si vous devez exécuter plusieurs requêtes, qui doivent toutes être enregistrées/ajoutées au même fichier CSV, utilisez alors .output .

.output query_results2.csv
SELECT * FROM Products;
SELECT * FROM Products LIMIT 2;

Dans ce cas, j'ai défini le fichier de sortie, puis j'ai exécuté deux requêtes.

Voici ce que contient le fichier :

ProductId,ProductName,Price
1,"Widget Holder",139.5
2,"Widget Opener",89.7
3,"Bob's ""Best"" Widget",374.2
4,"Blue Widget",63.0
ProductId,ProductName,Price
1,"Widget Holder",139.5
2,"Widget Opener",89.7

Encore une fois, si vous ne voulez pas d'en-têtes de colonne, utilisez .headers off .

Si vous voulez des en-têtes de colonne uniquement sur la première ligne, vous pouvez les activer, puis les désactiver après avoir exécuté la première requête. Comme ceci :

.headers on
.output query_results2.csv
SELECT * FROM Products;
.headers off
SELECT * FROM Products LIMIT 2;

Résultat :

ProductId,ProductName,Price
1,"Widget Holder",139.5
2,"Widget Opener",89.7
3,"Bob's ""Best"" Widget",374.2
4,"Blue Widget",63.0
1,"Widget Holder",139.5
2,"Widget Opener",89.7

Ouvrir automatiquement le fichier CSV

Vous pouvez utiliser le .system commande pour ouvrir votre fichier CSV. La syntaxe exacte que vous utiliserez dépendra de votre système.

Voici comment ouvrir le fichier précédent sur un Mac :

.system open query_results2.csv

Cela suppose que vous êtes dans le même répertoire que le fichier. Sinon, vous devrez utiliser le chemin complet.

Cela ouvre le fichier dans l'application par défaut du système pour ouvrir les fichiers CSV. Par exemple, cela pourrait être Microsoft Excel, LibreOffice, l'éditeur de texte par défaut de votre système, etc.

Sur un système Windows, votre code pourrait ressembler davantage à ceci :

.system c:/data/query_results2.csv

Sous Linux/Unix :

.system xdg-open query_results2.csv