Bagaimana cara mengimpor file .sql ke SQLite 3?

100

Saya memiliki file .sql yang memiliki konten berikut:

#cat db.sql
create table server(name varchar(50),ipaddress varchar(15),id init)
create table client(name varchar(50),ipaddress varchar(15),id init)

Bagaimana cara mengimpor file ini ke SQLite sehingga ini dibuat secara otomatis?

webminal.org
sumber
sqlite3 DB.db <db.sql Kesalahan: SQL tidak lengkap: buat server tabel (nama varchar (50), ipaddress varchar (15), id init) buat klien tabel (nama varchar (50), ipaddress varchar (15), id init ) apa arti kesalahan ini? Saya mencoba kedua metode> .read db.sql dan sqlite3 DB.db <db.sql
webminal.org

Jawaban:

167

Dari prompt sqlite:

sqlite> .read db.sql

Atau:

cat db.sql | sqlite3 database.db

Juga, SQL Anda tidak valid - Anda perlu ;di akhir pernyataan Anda:

create table server(name varchar(50),ipaddress varchar(15),id init);
create table client(name varchar(50),ipaddress varchar(15),id init);
Dominic Rodger
sumber
sqlite3 DB.db <db.sql Kesalahan: SQL tidak lengkap: buat server tabel (nama varchar (50), ipaddress varchar (15), id init) buat klien tabel (nama varchar (50), ipaddress varchar (15), id init ) apa arti kesalahan ini? Saya mencoba kedua metode> .read db.sql dan sqlite3 DB.db <db.sql ... Terima kasih
webminal.org
1
terima kasih Ini bekerja sekarang. Saya ketinggalan; dan menyertakan karakter yang tidak valid seperti "-". Sekarang tidak apa-apa. Terima kasih !!!
webminal.org
@lakshmipathi, jika berfungsi, Anda dapat menandai salah satu dari dua jawaban yang menjawab pertanyaan Anda sebagai diterima dengan mengklik centang di bawah penghitungan suara di sebelah jawaban.
Dominic Rodger
59

Gunakan sqlite3 database.sqlite3 < db.sql. Anda harus memastikan bahwa file Anda berisi SQL yang valid untuk SQLite.

Eifion
sumber
Saya juga (sintaks baris perintah Windows). Terima kasih. Tentu lambat.
Barton
2
Saya mendapat bangunan tidak sabar dari file 40 + Mb .sql, menghentikan database sqlite3.sqlite3 <db.sql untuk mendukung sqlite> .read db.sql. Alternatifnya sama lambatnya, ternyata.
Barton
19

Atau, Anda dapat melakukan ini dari file prompt / batch baris perintah Windows:

sqlite3.exe DB.db ".read db.sql"

Dimana DB.db adalah file database, dan db.sql adalah file SQL untuk dijalankan / impor.

eureka
sumber
ini berhasil untuk saya, meskipun saya menjalankan sqlite3 sebagai perintah di terminal jadi:sqlite3 DB.db ".read db.sql"
Bugbeeb
16

Anda juga bisa melakukan:

sqlite3 database.db -init dump.sql
Ian Newland
sumber