Saya membuat skrip shell untuk mengekspor kueri sqlite ke file csv, seperti ini:
#!/bin/bash
./bin/sqlite3 ./sys/xserve_sqlite.db ".headers on"
./bin/sqlite3 ./sys/xserve_sqlite.db ".mode csv"
./bin/sqlite3 ./sys/xserve_sqlite.db ".output out.csv"
./bin/sqlite3 ./sys/xserve_sqlite.db "select * from eS1100_sensor_results;"
./bin/sqlite3 ./sys/xserve_sqlite.db ".exit"
Saat menjalankan skrip, output muncul di layar, bukannya disimpan ke "out.csv". Ini berfungsi melakukan metode yang sama dengan baris perintah, tetapi saya tidak tahu mengapa skrip shell gagal mengekspor data ke file.
Apa yang saya lakukan salah?
<<! ... !
adalah apa yang saya butuhkan. Terima kasih.Alih-alih perintah titik, Anda dapat menggunakan opsi perintah sqlite3:
sqlite3 -header -csv my_db.db "select * from my_table;" > out.csv
Ini membuatnya menjadi satu baris.
Juga, Anda dapat menjalankan file skrip sql:
sqlite3 -header -csv my_db.db < my_script.sql > out.csv
Gunakan
sqlite3 -help
untuk melihat daftar opsi yang tersedia.sumber
Saya baru-baru ini membuat skrip shell yang akan dapat mengambil tabel dari file db dan mengubahnya menjadi file csv.
https://github.com/darrentu/convert-db-to-csv
Jangan ragu untuk mengajukan pertanyaan tentang skrip saya :)
sumber
Meskipun pertanyaannya adalah tentang skrip shell, saya pikir ini akan membantu beberapa dari mereka yang hanya peduli tentang mentransfer data dari database sqlite3 ke file csv.
Saya menemukan cara yang sangat mudah untuk melakukannya dengan browser firefox menggunakan ekstensi SQLite Manager.
Cukup sambungkan ke file database sqlite Anda di firefox (manajer SQlite -> sambungkan database) lalu Tabel -> Ekspor tabel. Anda akan disajikan dengan beberapa opsi lagi yang bisa Anda klik dan coba ....
Pada akhirnya Anda mendapatkan file csv dengan tabel yang telah Anda pilih untuk diekspor.
sumber
Using command line for Linux: user@dell-Admin: sqlite3 #activate your sqlite database first sqlite> .tables #search for tables if any available if already created one. sqlite> .schema #if you want to check the schema of the table. # once you find your table(s), then just do the following: sqlite> .headers on #export along with headers (column names) sqlite> .mode csv #file type is csv sqlite> .output example.csv #you want to provide file name to export sqlite> SELECT * from events; #If entire table is needed or select only required sqlite> .quit #finally quit the sqlite3
sumber