Saya baru mengenal SQLite. Apakah ada cara saya dapat mengekspor hasil permintaan ke file CSV?
Saya baru mengenal SQLite. Apakah ada cara saya dapat mengekspor hasil permintaan ke file CSV?
Jawaban:
Dari sini dan komentar d5e5:
Anda harus mengalihkan output ke mode csv dan beralih ke output file.
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Untuk memasukkan nama kolom ke file csv Anda, Anda dapat melakukan hal berikut:
sqlite> .headers on
sqlite> .mode csv
sqlite> .output test.csv
sqlite> select * from tbl1;
sqlite> .output stdout
Untuk memverifikasi perubahan yang telah Anda buat, Anda dapat menjalankan perintah ini:
sqlite> .show
Keluaran:
echo: off
explain: off
headers: on
mode: csv
nullvalue: ""
output: stdout
separator: "|"
stats: off
width: 22 18
.output filename.csv
eksekusi membuat atau menghapus file.
Selain jawaban di atas, Anda juga dapat menggunakan .once
cara yang serupa dengan .output
. Ini hanya menampilkan permintaan berikutnya ke file yang ditentukan, sehingga Anda tidak harus mengikuti.output stdout
.
Jadi pada contoh di atas
.mode csv
.headers on
.once test.csv
select * from tbl1;
Atau Anda dapat melakukannya dalam satu baris (diuji pada win10)
sqlite3 -help
sqlite3 -header -csv db.sqlite 'select * from tbl1;' > test.csv
Bonus: Menggunakan PowerShell dengan cmdlet dan pipa (|).
get-content query.sql | sqlite3 -header -csv db.sqlite > test.csv
di mana query.sql adalah file yang berisi permintaan SQL Anda