sql >> Database >  >> RDS >> SQLite

SQLite - Gegevens exporteren naar een CSV-bestand

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:

  1. 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.
  2. Vervolgens schakelen we de csv-modus in ( .mode csv ).
  3. De volgende regel (beginnend met .once ) zorgt ervoor dat de uitvoer naar het CSV-bestand wordt geschreven.
  4. 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.


  1. Hoe een kolom in SQL te laten vallen?

  2. Spring Data JPA + Hibernate Vergrendelde rijen overslaan (PostgreSQL)

  3. Hoe te kopiëren van CSV-bestand naar PostgreSQL-tabel met headers in CSV-bestand?

  4. Omgaan met MySQL langlopende zoekopdrachten