sql >> Database teknologi >  >> RDS >> SQLite

SQLite - Eksporter data til en CSV-fil

Du kan eksportere data fra en SQLite-database til en CSV-fil. Du kan eksportere en hel tabel eller resultaterne af en forespørgsel.

For at eksportere data til en CSV-fil skal du bruge .once kommando, efterfulgt af filstien/navnet, som du ønsker, at filen skal skrives til.

Tabel til CSV-fil

Dette eksempel eksporterer indholdet af Kunstnerne tabel til en CSV-fil:

.header on
.mode csv
.once /Users/quackit/sqlite/dumps/artists.csv
SELECT * FROM Artists;

Forklaring af koden:

  1. Først aktiverer vi overskrifter. Dette vil resultere i, at kolonnenavnene bliver brugt som overskrifter i CSV-filen. Dette er valgfrit. Hvis du deaktiverer overskrifter, vil CSV-filen simpelthen ikke indeholde nogen.
  2. Så aktiverer vi csv-tilstand ( .mode csv ).
  3. Næste linje (begynder med .once ) får outputtet til at blive skrevet til CSV-filen.
  4. Det sidste, vi skriver, er den faktiske forespørgsel (i dette tilfælde en SELECT). erklæring på bordet.).

Efter at have kørt den kode, oprettes en CSV-fil med følgende indhold:

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",

Deltag forespørgsler

Du er ikke begrænset til kun at udskrive en enkelt tabel. Du kan udskrive enhver forespørgsel. Her er en forespørgsel, der vælger data fra to tabeller og udlæser resultatet i én CSV-fil.

.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;

Dette resulterer i en CSV-fil med følgende indhold:

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

Åbn CSV-filen automatisk

Du kan bruge .system kommando til automatisk at åbne filen i din computers regnearksprogram, såsom Excel, OpenOffice, LibreOffice osv.

Placer .system kode på den sidste linje (efter SELECT udmelding). Sådan:

.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

Den nøjagtige kode, du bruger, afhænger af dit operativsystem.

  • I Windows skal du bruge .system efterfulgt af filnavnet.
  • På Mac skal du bruge .system open efterfulgt af filnavnet.
  • På Linux- og Unix-systemer skal du bruge .system efterfulgt af navnet på programmet for at åbne filen, efterfulgt af filnavnet. For eksempel .system libreoffice /dumps/file.csv

Dump en tabel eller database

Du kan også dumpe en tabel eller endda hele databasen i en ASCII-tekstfil ved hjælp af .dump kommando.


  1. Indstil PDO til at kaste undtagelser som standard

  2. STRING_SPLIT() i SQL Server 2016:Opfølgning #2

  3. 40 spørgsmål du skal vide om R12.2

  4. PostgreSQL fuldtekstsøgning og trigramforvirring