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?


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);

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.


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.


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.