저는 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 쿼리를 포함하는 파일입니다.