2010-01-12 34 views
64

Tôi đã file sql đó có các nội dung sau đây:Làm cách nào để nhập tệp .sql vào SQLite 3?

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

Làm thế nào để import file này vào SQLite để chúng được tạo ra tự động?

+0

sqlite3 DB.db .read db.sql và sqlite3 DB.db

+0

@lakshmipathi, xem chỉnh sửa của tôi. –

Trả lời

112

Từ một dấu nhắc sqlite:

sqlite> .read db.sql 

Hoặc:

cat db.sql | sqlite3 database.db 

Ngoài ra, SQL của bạn không hợp lệ - bạn cần ; vào cuối báo cáo của bạn:

create table server(name varchar(50),ipaddress varchar(15),id init); 
create table client(name varchar(50),ipaddress varchar(15),id init); 
+0

sqlite3 DB.db .read db.sql và sqlite3 DB.db

+1

cảm ơn Nó đang hoạt động. Tôi đã bỏ lỡ; và bao gồm các ký tự không hợp lệ như "-". Bây giờ nó là tốt. –

+0

@lakshmipathi, nếu nó hoạt động, bạn có thể đánh dấu một trong hai câu trả lời đã trả lời câu hỏi của bạn khi được chấp nhận bằng cách nhấp vào dấu kiểm trong số phiếu bầu bên cạnh câu trả lời. –

44

Sử dụng sqlite3 database.sqlite3 < db.sql. Bạn sẽ cần phải đảm bảo rằng các tệp của bạn chứa SQL hợp lệ cho SQLite.

+0

cảm ơn Eifion !! cho linh hồn của bạn hoạt động tốt quá. –

+0

Tôi cũng vậy (cú pháp dòng lệnh của Windows). Cảm ơn. Chắc chắn là chậm, mặc dù. – Barton

+1

Tôi đã xây dựng thiếu kiên nhẫn từ một tập tin .sql 40 + Mb, chấm dứt sqlite3 database.sqlite3 .read db.sql. Sự thay thế chỉ là chậm, nó quay ra. – Barton

6

Ngoài , bạn có thể thực hiện việc này từ tệp nhắc/lệnh dòng lệnh của Windows:

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

đâu DB.db là file cơ sở dữ liệu, và db.sql là file SQL để chạy/nhập khẩu.

8

Bạn cũng có thể làm:

sqlite3 database.db -init dump.sql 
Các vấn đề liên quan