admin

从 SQLite 3 导出数据

sql

我需要一种简单的方法来从包含多个表的 SQLite 数据库中导出数据,然后将它们导入到另一个数据库中。

这是我的场景。我有 5 个表:A、B、C、D、E。

每个表都有一个主键作为第一列,称为 ID。我想要一个 Unix 命令,它只会以可以导入另一个数据库的格式从主键转储行中的数据。

我知道我可以做一个

sqlite3 db .dump | grep INSERT

但这给了我表中的所有数据。我不是数据库专家,我正在尝试使用所有可以编写 shell 脚本的 unix 命令来执行此操作,而不是编写 C 代码来执行此操作(因为人们告诉我这是最简单的方法) . 我只是拒绝编写 C 代码来完成一项可能在命令行中用 4-5 条语句完成的任务。

有什么建议么?


阅读 227

收藏
2021-07-01

共1个答案

admin

这可能看起来有点奇怪,但是您可以尝试一下:

创建文本文件并在其中放置以下语句:

.mode insert
.output insert.sql
select * from TABLE where STATEMENT; -- place the needed select query here
.output stdout

将此文件提供给 sqlite3:

$ sqlite3 -init initf DATA.DB .schema > schema.sql

结果,您将获得两个文件:一个带有简单的“插入”(insert.sql),另一个带有 db 架构(schema.sql)。

2021-07-01