我需要一种简单的方法从包含多个表的 SQLite 数据库中导出数据,然后将它们导入到另一个数据库中。
这是我的场景。我有 5 个表:A、B、C、D、E。
每个表都有一个主键作为第一列,称为 ID。我想要一个 Unix 命令,它仅以可以导入到另一个数据库的格式转储主键行中的数据。
我知道我可以做一个
sqlite3 db .dump | grep INSERT
但这给了我表中的所有数据。我不是数据库专家,我尝试使用所有可以编写 shell 脚本的 unix 命令来执行此操作,而不是编写 C++ 代码来执行此操作(因为人们告诉我这是最简单的方法) 。我只是拒绝编写 C++ 代码来完成可以通过命令行 4-5 条语句完成的任务。
有什么建议么?
这可能看起来有点奇怪,但是你可以尝试一下:
创建文本文件并在其中放置以下语句:
.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
结果你会得到两个文件:一个带有简单的“插入”(插入.sql)和另一个具有数据库模式(模式.sql).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)