SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite - Daten in eine CSV-Datei exportieren

Sie können Daten aus einer SQLite-Datenbank in eine CSV-Datei exportieren. Sie können eine ganze Tabelle oder die Ergebnisse einer Abfrage exportieren.

Um Daten in eine CSV-Datei zu exportieren, verwenden Sie den .once Befehl, gefolgt vom Dateipfad/-namen, in den die Datei geschrieben werden soll.

Tabelle in CSV-Datei

Dieses Beispiel exportiert den Inhalt der Artists Tabelle in eine CSV-Datei:

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

Erklärung des Codes:

  1. Zuerst aktivieren wir Header. Dadurch werden die Spaltennamen als Überschriften in der CSV-Datei verwendet. Dies ist optional. Wenn Sie Kopfzeilen deaktivieren, enthält die CSV-Datei einfach keine.
  2. Dann aktivieren wir den CSV-Modus ( .mode csv ).
  3. Die nächste Zeile (beginnend mit .once ) bewirkt, dass die Ausgabe in die CSV-Datei geschrieben wird.
  4. Das letzte, was wir schreiben, ist die eigentliche Abfrage (in diesem Fall ein SELECT Aussage auf dem Tisch.).

Nachdem dieser Code ausgeführt wurde, wird eine CSV-Datei mit folgendem Inhalt erstellt:

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

Anfragen verbinden

Sie sind nicht darauf beschränkt, nur eine einzelne Tabelle auszugeben. Sie können eine beliebige Abfrage ausgeben. Hier ist eine Abfrage, die Daten aus zwei Tabellen auswählt und das Ergebnis in eine CSV-Datei ausgibt.

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

Es entsteht eine CSV-Datei mit folgendem Inhalt:

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

CSV-Datei automatisch öffnen

Sie können das .system verwenden Befehl zum automatischen Öffnen der Datei im Tabellenkalkulationsprogramm Ihres Computers wie Excel, OpenOffice, LibreOffice usw.

Platzieren Sie das .system Code in der letzten Zeile (nach dem SELECT Erklärung). So:

.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

Der genaue Code, den Sie verwenden, hängt von Ihrem Betriebssystem ab.

  • Verwenden Sie unter Windows .system gefolgt vom Dateinamen.
  • Verwenden Sie auf dem Mac .system open gefolgt vom Dateinamen.
  • Verwenden Sie auf Linux- und Unix-Systemen .system gefolgt vom Namen des Programms zum Öffnen der Datei, gefolgt vom Dateinamen. Beispiel:.system libreoffice /dumps/file.csv

Dump eine Tabelle oder Datenbank

Sie können auch eine Tabelle oder sogar die gesamte Datenbank mit .dump in eine ASCII-Textdatei ausgeben Befehl.