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

SQLite - Esporta i dati in un file CSV

Puoi esportare i dati da un database SQLite in un file CSV. Puoi esportare un'intera tabella o i risultati di una query.

Per esportare i dati in un file CSV, utilizza .once comando, seguito dal percorso/nome del file in cui desideri che il file venga scritto.

Tabella su file CSV

Questo esempio esporta i contenuti di Artisti tabella in un file CSV:

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

Spiegazione del codice:

  1. In primo luogo, abilitiamo le intestazioni. Ciò comporterà l'utilizzo dei nomi delle colonne come intestazioni nel file CSV. Questo è facoltativo. Se disabiliti le intestazioni, il file CSV semplicemente non ne conterrà nessuna.
  2. Quindi abilitiamo la modalità csv ( .mode csv ).
  3. La riga successiva (che inizia con .once ) fa in modo che l'output venga scritto nel file CSV.
  4. L'ultima cosa che scriviamo è la query vera e propria (in questo caso, un SELECT dichiarazione sul tavolo.).

Dopo aver eseguito quel codice, viene creato un file CSV con i seguenti contenuti:

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

Partecipa alle query

Non sei limitato all'output di una singola tabella. Puoi produrre qualsiasi query. Ecco una query che seleziona i dati da due tabelle e restituisce il risultato in un file CSV.

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

Ciò si traduce in un file CSV con i seguenti contenuti:

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

Apri il file CSV automaticamente

Puoi usare il .system comando per aprire automaticamente il file nel foglio di calcolo del tuo computer, come Excel, OpenOffice, LibreOffice, ecc.

Inserisci il .system codice sull'ultima riga (dopo il SELECT dichiarazione). In questo modo:

.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

Il codice esatto che utilizzerai dipenderà dal tuo sistema operativo.

  • Su Windows, usa .system seguito dal nome del file.
  • Su Mac, usa .system open seguito dal nome del file.
  • Sui sistemi Linux e Unix, usa .system seguito dal nome del programma per aprire il file, seguito dal nome del file. Ad esempio, .system libreoffice /dumps/file.csv

Scarica una tabella o un database

Puoi anche scaricare una tabella o anche l'intero database in un file di testo ASCII usando il .dump comando.