Vous pouvez exporter des données d'une base de données SQLite vers un fichier CSV. Vous pouvez exporter un tableau entier ou les résultats d'une requête.
Pour exporter des données vers un fichier CSV, utilisez le .once
commande, suivi du chemin/du nom du fichier dans lequel vous souhaitez que le fichier soit écrit.
Tableau vers fichier CSV
Cet exemple exporte le contenu des Artistes table dans un fichier CSV :
.header on .mode csv .once /Users/quackit/sqlite/dumps/artists.csv SELECT * FROM Artists;
Explication du code :
- Tout d'abord, nous activons les en-têtes. Cela entraînera l'utilisation des noms de colonne comme en-têtes dans le fichier CSV. Ceci est facultatif. Si vous désactivez les en-têtes, le fichier CSV n'en contiendra tout simplement pas.
- Ensuite, nous activons le mode csv (
.mode csv
- La ligne suivante (commençant par
.once
) entraîne l'écriture de la sortie dans le fichier CSV. - La dernière chose que nous écrivons est la requête proprement dite (dans ce cas, un
SELECT
déclaration sur la table.).
Après avoir exécuté ce code, un fichier CSV est créé avec le contenu suivant :
ArtistId,ArtistName,Bio 1,"Joe Satriani", 2,"Steve Vai", 3,"The Tea Party", 4,Noiseworks, 5,"Wayne Jury", 6,"Mr Percival", 7,"Iron Maiden", 8,Atmasphere,"Australian jazz band centred around polyrhythms." 9,"Ian Moss", 10,Magnum, 13,Primus, 14,"Pat Metheny", 15,"Frank Gambale", 16,"Mothers of Invention",
Joindre des requêtes
Vous n'êtes pas limité à la sortie d'une seule table. Vous pouvez générer n'importe quelle requête. Voici une requête qui sélectionne les données de deux tables et génère le résultat dans un fichier CSV.
.header on .mode csv .once /Users/quackit/sqlite/dumps/catalog.csv SELECT AlbumId, AlbumName, ArtistName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName;
Cela se traduit par un fichier CSV avec le contenu suivant :
AlbumId,AlbumName,ArtistName 1,Killers,"Iron Maiden" 2,Powerslave,"Iron Maiden" 12,"Somewhere in Time","Iron Maiden" 3,"Surfing with the Alien","Joe Satriani" 10,"Flying in a Blue Dream","Joe Satriani" 11,"Black Swans and Wormhole Wizards","Joe Satriani" 6,"Out of the Loop","Mr Percival" 7,"Suck on This",Primus 8,"Pork Soda",Primus 9,"Sailing the Seas of Cheese",Primus
Ouvrir le fichier CSV automatiquement
Vous pouvez utiliser le .system
pour ouvrir automatiquement le fichier dans le tableur de votre ordinateur, tel qu'Excel, OpenOffice, LibreOffice, etc.
Placez le .system
code sur la dernière ligne (après le SELECT
déclaration). Comme ceci :
.header on .mode csv .once /Users/quackit/sqlite/dumps/catalog.csv SELECT AlbumId, AlbumName, ArtistName FROM Artists AS a INNER JOIN Albums AS b ON a.ArtistId = b.ArtistId ORDER BY ArtistName; .system open /Users/quackit/sqlite/dumps/catalog.csv
Le code exact que vous utiliserez dépendra de votre système d'exploitation.
- Sous Windows, utilisez
.system
suivi du nom du fichier. - Sur Mac, utilisez
.system open
suivi du nom du fichier. - Sur les systèmes Linux et Unix, utilisez
.system
suivi du nom du programme pour ouvrir le fichier, suivi du nom du fichier. Par exemple,.system libreoffice /dumps/file.csv
Vider une table ou une base de données
Vous pouvez également vider une table ou même toute la base de données dans un fichier texte ASCII en utilisant le .dump
commande.