[sqlite] SQLite : 쿼리 결과를 CSV 파일로 저장하려면 어떻게합니까?

저는 SQLite를 처음 사용합니다. 쿼리 결과를 CSV 파일로 내보낼 수있는 방법이 있습니까?



답변

에서 여기 와 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;


답변

또는 한 줄로 할 수 있습니다 (win10에서 테스트 됨)

sqlite3 -help
sqlite3 -header -csv db.sqlite 'select * from tbl1;' > test.csv

보너스 : cmdlet 및 파이프 (|)와 함께 powershell 사용.

get-content query.sql | sqlite3 -header -csv db.sqlite > test.csv

여기서 query.sql은 SQL 쿼리를 포함하는 파일입니다.


답변