Saya perlu membuang file .sql atau .csv ke SQLite (Saya menggunakan API SQLite3). Saya hanya menemukan dokumentasi untuk mengimpor / memuat tabel, bukan seluruh database. Sekarang, saat saya mengetik:
sqlite3prompt> .import FILENAME TABLE
Saya mendapatkan kesalahan sintaks, karena mengharapkan tabel dan bukan seluruh DB.
database
sqlite
import
sqlite-shell
happythenewsad
sumber
sumber
Jawaban:
Untuk mengimpor dari file SQL gunakan yang berikut ini:
Untuk mengimpor dari file CSV, Anda perlu menentukan jenis file dan tabel tujuan:
sumber
Coba lakukan dari perintah seperti:
Ini jelas hanya akan bekerja dengan pernyataan SQL di dump.sql. Saya tidak yakin bagaimana cara mengimpor CSV.
sumber
.mode csv
sqlite3 database.db < dump.sql
SANGAT LAMBAT !!! Jadi gunakancat dump.sql | sqlite3 database.db
saja! : DUntuk beralih dari SCRATCH dengan SQLite DB untuk mengimpor CSV ke dalam tabel:
sqlite3 <your_db_file_name>
* Ini akan dibuat sebagai file kosong.CREATE TABLE <table_Name> (<field_name1> <Type>, <field_name2> <type>);
Setelah Anda membuat tabel dan kolom cocok dengan data Anda dari file, maka Anda dapat melakukan hal di atas ...
sumber
Perintah sqlite3 .import tidak akan berfungsi untuk data csv biasa karena ia memperlakukan setiap koma sebagai pemisah bahkan dalam string yang dikutip.
Ini termasuk mencoba mengimpor kembali file csv yang dibuat oleh shell:
Tampaknya kita harus mengubah csv menjadi daftar pernyataan Sisipkan, atau mungkin pemisah yang berbeda akan berfungsi.
Selama di SuperUser saya melihat saran untuk menggunakan LogParser untuk menangani file csv, saya akan memeriksanya.
sumber
Jika Anda senang menggunakan skrip (python) maka ada skrip python yang mengotomatiskan ini di: https://github.com/rgrp/csv2sqlite
Ini akan membuat tabel secara otomatis untuk Anda serta melakukan beberapa tebakan tipe dasar dan transmisi data untuk Anda (jadi misalnya, ini akan menghasilkan sesuatu berupa angka dan menyetel tipe kolom ke "nyata").
sumber
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings
# csv2sqlite.py {csv-file-path} {sqlite-db-path} [{table-name}]Ingatlah bahwa pembatas default untuk SQLite adalah pipa "|"
http://sqlite.awardspace.info/syntax/sqlitepg01.htm#sqlite010
sumber
SQLite sangat fleksibel karena juga memungkinkan perintah titik khusus SQLite dalam sintaks SQL, (meskipun ditafsirkan oleh CLI.) Ini berarti Anda dapat melakukan hal-hal seperti ini.
Buat
sms
tabel seperti ini:Lalu dua file:
Untuk menguji impor file CSV menggunakan file SQL, jalankan:
Kesimpulannya, ini berarti Anda dapat menggunakan
.import
pernyataan dalam SQLite SQL, seperti yang dapat Anda lakukan di RDB lainnya, seperti MySQL denganLOAD DATA INFILE
dll. Namun, ini tidak disarankan.sumber
Lihat termql. https://gitorious.org/termsql https://gitorious.org/termsql/pages/Home
Ini mengubah teks menjadi SQL pada baris perintah. (CSV hanyalah teks)
Contoh:
Secara default, pembatasnya adalah spasi, jadi untuk membuatnya berfungsi dengan CSV yang menggunakan komata, Anda akan melakukannya seperti ini:
sebagai alternatif Anda dapat melakukan ini:
Secara default ini akan menghasilkan nama kolom "COL0", "COL1", jika Anda ingin menggunakan baris pertama untuk nama kolom, lakukan ini:
Jika Anda ingin mengatur nama kolom kustom, Anda melakukan ini:
sumber
jika Anda menggunakannya di windows, pastikan untuk menambahkan path ke db di "" dan juga menggunakan garis miring \ di path untuk memastikan windows memahaminya.
sumber
Beginilah cara Anda memasukkan ke dalam kolom identitas:
myfile.txt adalah file di C: \ code \ db \ predefined \
data.db ada di C: \ code \ db \
myfile.txt berisi string yang dipisahkan oleh karakter baris baru.
Jika Anda ingin menambahkan lebih banyak kolom, lebih mudah untuk memisahkannya menggunakan karakter pipa, yang merupakan defaultnya.
sumber
Impor csv atau sql Anda ke sqlite dengan phpLiteAdmin , itu luar biasa.
sumber