sql >> Base de Datos >  >> RDS >> SQLite

SQLite - Exportar datos a un archivo CSV

Puede exportar datos de una base de datos SQLite a un archivo CSV. Puede exportar una tabla completa o los resultados de una consulta.

Para exportar datos a un archivo CSV, use .once comando, seguido de la ruta/nombre del archivo en el que desea que se escriba el archivo.

Tabla a archivo CSV

Este ejemplo exporta el contenido de Artists tabla a un archivo CSV:

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

Explicación del código:

  1. Primero, habilitamos los encabezados. Esto dará como resultado que los nombres de las columnas se utilicen como encabezados en el archivo CSV. Esto es opcional. Si deshabilita los encabezados, el archivo CSV simplemente no contendrá ninguno.
  2. Luego habilitamos el modo csv ( .mode csv ).
  3. La siguiente línea (que comienza con .once ) hace que la salida se escriba en el archivo CSV.
  4. Lo último que escribimos es la consulta real (en este caso, un SELECT declaración sobre la mesa).

Después de ejecutar ese código, se crea un archivo CSV con los siguientes contenidos:

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

Únete a Consultas

No está limitado a generar una sola tabla. Puede generar cualquier consulta. Aquí hay una consulta que selecciona datos de dos tablas y genera el resultado en un archivo 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;

Esto da como resultado un archivo CSV con los siguientes contenidos:

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

Abrir el archivo CSV automáticamente

Puedes usar el .system comando para abrir automáticamente el archivo en el programa de hoja de cálculo de su computadora, como Excel, OpenOffice, LibreOffice, etc.

Coloque el .system código en la última línea (después de SELECT declaración). Así:

.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

El código exacto que utilice dependerá de su sistema operativo.

  • En Windows, use .system seguido del nombre del archivo.
  • En Mac, use .system open seguido del nombre del archivo.
  • En sistemas Linux y Unix, use .system seguido del nombre del programa para abrir el archivo, seguido del nombre del archivo. Por ejemplo, .system libreoffice /dumps/file.csv

Volcar una tabla o base de datos

También puede volcar una tabla o incluso toda la base de datos en un archivo de texto ASCII usando .dump comando.