如何将.sql文件导入到SQLite3中?

问题描述 投票:0回答:5

我有 .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 以便自动创建这些文件?

sql database sqlite import dbimport
5个回答
223
投票

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

92
投票

使用

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


33
投票

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

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

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


28
投票

您还可以这样做:

sqlite3 database.db -init dump.sql

0
投票

例如,您可以使用

apple.db
backup.sql
.dump
导出到
.schema
,如下所示。 *
.dump
可以导出带有数据的模式,
.schema
只能导出模式:

sqlite3 apple.db .dump > backup.sql

或者:

sqlite3 apple.db .schema > backup.sql

现在,您可以通过以下方式将

backup.sql
导入到
orange.db
中:

sqlite3 orange.db < backup.sql

或者:

sqlite3 orange.db
...
sqlite> .read backup.sql

请注意,如果直接将

apple.db
导入到
orange.db
中,如下所示:

sqlite3 orange.db < apple.db

或者:

sqlite3 orange.db
...
sqlite> .read apple.db

然后,您会收到以下错误:

第 1 行附近解析错误:“SQLite”附近:语法错误

© www.soinside.com 2019 - 2024. All rights reserved.