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

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

Ответ 1

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

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

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

Ответ 2

Чтобы включить имена столбцов в ваш файл 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 

Ответ 3

Хорошие ответы от gdw2 и d5e5. Для упрощения здесь приведены рекомендации, сгруппированные в одну команду:

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

Ответ 4

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

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

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