Làm cách nào để nhập tệp .sql vào SQLite 3?


98

Tôi có các tệp .sql có nội dung sau:

#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 cách nào để nhập tệp này vào SQLite để chúng được tạo tự động?


sqlite3 DB.db <db.sql Lỗi: SQL không đầy đủ: tạo máy chủ bảng (tên varchar (50), ipaddress varchar (15), id init) tạo máy khách bảng (tên varchar (50), ipaddress varchar (15), id init ) lỗi này có nghĩa là gì? Tôi đã thử cả hai phương pháp> .read db.sql và sqlite3 DB.db <db.sql
webminal.org

Câu trả lời:


164

Từ lời nhắc sqlite:

sqlite> .read db.sql

Hoặc là:

cat db.sql | sqlite3 database.db

Ngoài ra, SQL của bạn không hợp lệ - bạn cần có ;ở cuối các câu lệnh của mình:

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 Lỗi: SQL không đầy đủ: tạo máy chủ bảng (tên varchar (50), ipaddress varchar (15), id init) tạo máy khách bảng (tên varchar (50), ipaddress varchar (15), id init ) lỗi này có nghĩa là gì? Tôi đã thử cả hai phương pháp> .read db.sql và sqlite3 DB.db <db.sql ... Cảm ơn
webminal.org

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ờ thì ổn. Cảm ơn !!!
webminal.org

@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 là được chấp nhận bằng cách nhấp vào đánh dấu dưới kiểm phiếu bên cạnh câu trả lời.
Dominic Rodger

59

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


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

2
Tôi đã mất kiên nhẫn xây dựng từ tệp .sql 40 + Mb, đã chấm dứt sqlite3 database.sqlite3 <db.sql để ủng hộ sqlite> .read db.sql. Hóa ra là giải pháp thay thế cũng chậm như vậy.
Barton

18

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

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

Trong đó DB.db là tệp cơ sở dữ liệu và db.sql là tệp SQL để chạy / nhập.


điều này đã làm việc cho tôi, mặc dù tôi đã chạy sqlite3 như một lệnh trong thiết bị đầu cuối, vì vậy:sqlite3 DB.db ".read db.sql"
Bugbeeb

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.