我有 .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 以便自动创建这些文件?
从 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 database.sqlite3 < db.sql
。您需要确保您的文件包含 SQLite 的有效 SQL。
或者,您可以从 Windows 命令行提示符/批处理文件执行此操作:
sqlite3.exe DB.db ".read db.sql"
其中 DB.db 是数据库文件,db.sql 是要运行/导入的 SQL 文件。
您还可以这样做:
sqlite3 database.db -init dump.sql
例如,您可以使用
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”附近:语法错误