Soy nuevo en SQLite. ¿Hay alguna manera de exportar los resultados de una consulta a un archivo CSV?
Soy nuevo en SQLite. ¿Hay alguna manera de exportar los resultados de una consulta a un archivo CSV?
Respuestas:
Desde aquí y el comentario de d5e5:
Tendrá que cambiar la salida al modo csv y cambiar a la salida del archivo.
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Para incluir nombres de columna en su archivo csv, puede hacer lo siguiente:
sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Para verificar los cambios que ha realizado, puede ejecutar este comando:
sqlite> .show
Salida:
echo: off
explain: off
headers: on
mode: csv
nullvalue: ""
output: stdout
separator: "|"
stats: off
width: 22 18
.output filename.csvejecución crea o borra el archivo.
Además de las respuestas anteriores, también puede usar .oncede manera similar a .output. Esto genera solo la siguiente consulta en el archivo especificado, por lo que no tiene que seguir .output stdout.
Entonces, en el ejemplo anterior
.mode csv
.headers on
.once test.csv
select * from tbl1;
Alternativamente, puede hacerlo en una línea (probado en win10)
sqlite3 -help
sqlite3 -header -csv db.sqlite 'select * from tbl1;' > test.csv
Bonificación: Uso de PowerShell con cmdlet y pipe (|).
get-content query.sql | sqlite3 -header -csv db.sqlite > test.csv
donde query.sql es un archivo que contiene su consulta SQL