【问题标题】:How do I import .sql files into SQLite 3?如何将 .sql 文件导入 SQLite 3?
【发布时间】:2011-01-04 04:21:04
【问题描述】:

我有 .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 .read db.sql 和 sqlite3 DB.db

标签: sql sqlite


【解决方案1】:

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

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

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

【讨论】:

  • 这对我有用,虽然我在终端中将 sqlite3 作为命令运行,所以:sqlite3 DB.db ".read db.sql"
【解决方案2】:

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

【讨论】:

  • 我也是(Windows 命令行语法)。谢谢。不过确实很慢。
  • 我从一个 40+Mb 的 .sql 文件开始不耐烦地构建,终止了 sqlite3 database.sqlite3 .read db.sql。事实证明,替代方案同样缓慢。
【解决方案3】:

你也可以这样做:

sqlite3 database.db -init dump.sql

【讨论】:

  • 这将使sqlite3 客户端在交互式提示中运行。
【解决方案4】:

从 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 .read db.sql 和 sqlite3 DB.db
  • 谢谢它现在正在工作。我错过了;并包括无效字符,如“-”。现在好了。谢谢!!!
  • 对于 postgresql,你可以使用 pg2sqlite,见我的answer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
相关资源
最近更新 更多