SQLite: как сохранить результат запроса в виде CSV-файла?

Я новичок в SQLite. Есть ли способ экспортировать результаты запроса в CSV-файл?

4 ответов


С здесь и комментарий d5e5:

вам нужно переключить вывод в csv-режим и переключиться на вывод файла.

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

включать имена столбцов в CSV-файл, вы можете сделать следующее:

sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

чтобы проверить внесенные вами изменения, вы можете выполнить следующую команду:

sqlite> .show

выход:

echo: off   
explain: off   
headers: on   
mode: csv   
nullvalue: ""  
output: stdout  
separator: "|"   
stats: off   
width: 22 18 

хорошие ответы от gdw2 и d5e5. Чтобы сделать это немного проще, вот рекомендации, собранные в одну серию команд:

sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout

в дополнение к вышеуказанным ответам вы также можете использовать .once аналогично .output. Это выводит только следующий запрос в указанный файл, так что вам не нужно следовать с .output stdout.

так, в приведенном выше примере

.mode csv
.headers on
.once test.csv
select * from tbl1;