sql >> Databasteknik >  >> RDS >> SQLite

SQLite - Exportera data till en CSV-fil

Du kan exportera data från en SQLite-databas till en CSV-fil. Du kan exportera en hel tabell eller resultaten av en fråga.

För att exportera data till en CSV-fil, använd .once kommandot, följt av sökvägen/namnet som du vill att filen ska skrivas till.

Tabell till CSV-fil

Det här exemplet exporterar innehållet i Artister tabell till en CSV-fil:

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

Förklaring av koden:

  1. Först aktiverar vi rubriker. Detta kommer att resultera i att kolumnnamnen används som rubriker i CSV-filen. Detta är valfritt. Om du inaktiverar rubriker kommer CSV-filen helt enkelt inte att innehålla några.
  2. Då aktiverar vi csv-läge ( .mode csv ).
  3. Nästa rad (som börjar med .once ) gör att utdata skrivs till CSV-filen.
  4. Det sista vi skriver är själva frågan (i det här fallet en SELECT). uttalande på bordet.).

Efter att ha kört den koden skapas en CSV-fil med följande innehåll:

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

Gå med i frågor

Du är inte begränsad till att bara skriva ut en enda tabell. Du kan skriva ut vilken fråga som helst. Här är en fråga som väljer data från två tabeller och matar ut resultatet till en 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;

Detta resulterar i en CSV-fil med följande innehåll:

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

Öppna CSV-filen automatiskt

Du kan använda .system kommando för att automatiskt öppna filen i din dators kalkylprogram, som Excel, OpenOffice, LibreOffice, etc.

Placera .system kod på sista raden (efter SELECT påstående). Så här:

.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 exakta koden du använder beror på ditt operativsystem.

  • I Windows använder du .system följt av filnamnet.
  • På Mac använder du .system open följt av filnamnet.
  • På Linux- och Unix-system använder du .system följt av namnet på programmet för att öppna filen, följt av filnamnet. Till exempel, .system libreoffice /dumps/file.csv

Dumpa en tabell eller databas

Du kan också dumpa en tabell eller till och med hela databasen till en ASCII-textfil med .dump kommando.


  1. Sammanfoga en sträng och ett nummer i MySQL

  2. SQL-datumformat:Hur man hanterar det på ett smart sätt

  3. SQL-fråga med flera värden i en cell

  4. Hur man använder REPLACE i SQL