U kunt gegevens uit een SQLite-database exporteren naar een CSV-bestand. U kunt een hele tabel of de resultaten van een zoekopdracht exporteren.
Om gegevens naar een CSV-bestand te exporteren, gebruikt u de .once
commando, gevolgd door het bestandspad/de naam waarnaar u het bestand wilt schrijven.
Tabel naar CSV-bestand
Dit voorbeeld exporteert de inhoud van de Artiesten tabel naar een CSV-bestand:
.header on .mode csv .once /Users/quackit/sqlite/dumps/artists.csv SELECT * FROM Artists;
Verklaring van de code:
- Eerst schakelen we headers in. Dit zal ertoe leiden dat de kolomnamen worden gebruikt als koppen in het CSV-bestand. Dit is optioneel. Als je headers uitschakelt, bevat het CSV-bestand er gewoon geen.
- Vervolgens schakelen we de csv-modus in (
.mode csv
- De volgende regel (beginnend met
.once
) zorgt ervoor dat de uitvoer naar het CSV-bestand wordt geschreven. - Het laatste wat we schrijven is de eigenlijke vraag (in dit geval een
SELECT
verklaring op tafel.).
Nadat die code is uitgevoerd, wordt een CSV-bestand gemaakt met de volgende inhoud:
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",
Deelnemen aan zoekopdrachten
U bent niet beperkt tot het uitvoeren van een enkele tabel. U kunt elke query uitvoeren. Hier is een query die gegevens uit twee tabellen selecteert en het resultaat in één CSV-bestand uitvoert.
.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;
Dit resulteert in een CSV-bestand met de volgende inhoud:
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
Open het CSV-bestand automatisch
U kunt het .system
. gebruiken commando om het bestand automatisch te openen in het spreadsheetprogramma van uw computer, zoals Excel, OpenOffice, LibreOffice, enz.
Plaats het .system
code op de laatste regel (na de SELECT
uitspraak). Zoals dit:
.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
De exacte code die u gebruikt, hangt af van uw besturingssysteem.
- Gebruik in Windows
.system
gevolgd door de bestandsnaam. - Op Mac, gebruik
.system open
gevolgd door de bestandsnaam. - Gebruik op Linux- en Unix-systemen
.system
gevolgd door de naam van het programma om het bestand te openen, gevolgd door de bestandsnaam. Bijvoorbeeld.system libreoffice /dumps/file.csv
Dump een tabel of database
U kunt ook een tabel of zelfs de hele database dumpen in een ASCII-tekstbestand met behulp van de .dump
commando.