如何将.sql文件导入SQLite 3?


97

我有.sql文件,其内容如下:

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

如何将此文件导入SQLite,以便自动创建这些文件?


sqlite3 DB.db <db.sql错误:不完整的SQL:创建表服务器(名称varchar(50),ipaddress varchar(15),id init)创建表客户端(名称varchar(50),ipaddress varchar(15),id init )这个错误是什么意思?我尝试了两种方法> .read db.sql和sqlite3 DB.db <db.sql
webminal.org 2010年

Answers:


163

从sqlite提示:

sqlite> .read db.sql

要么:

cat db.sql | sqlite3 database.db

另外,您的SQL无效-您需要;在语句末尾:

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错误:不完整的SQL:创建表服务器(名称varchar(50),ipaddress varchar(15),id init)创建表客户端(名称varchar(50),ipaddress varchar(15),id init )这个错误是什么意思?我尝试了两种方法> .read db.sql和sqlite3 DB.db <db.sql ...谢谢
webminal.org 2010年

1
谢谢现在正在工作。我错过了; 并包含无效字符(如“-”)。现在很好,谢谢!!!
webminal.org 2010年

@lakshmipathi,如果它起作用了,您可以通过单击答案旁边的投票计数下的对勾,将回答您问题的两个答案之一标记为已接受。
多米尼克·罗杰

58

使用sqlite3 database.sqlite3 < db.sql。您需要确保您的文件包含适用于SQLite的有效SQL。


我也是(Windows命令行语法)。谢谢。当然,速度很慢。
巴顿

2
我从一个40 + Mb的.sql文件开始不耐烦地构建,终止了sqlite3 database.sqlite3 <db.sql,转而使用sqlite> .read db.sql。事实证明,替代方法同样缓慢。
巴顿

17

或者,您可以从Windows命令行提示符/批处理文件执行此操作:

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

其中DB.db是数据库文件,而db.sql是要运行/导入的SQL文件。


尽管我在终端中运行了sqlite3作为命令,这对我sqlite3 DB.db ".read db.sql"
还是有用的

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.