我需要一种简单的方法从多个表的SQLite数据库导出数据,然后将它们导入另一个数据库.
这是我的情景.我有5个表:A,B,C,D,E.
每个表都有一个主键作为名为ID的第一列.我想要一个Unix命令,它只能以可导入另一个数据库的格式从主键转储行中的数据.
我知道我能做到
sqlite3 db .dump | grep INSERT
Run Code Online (Sandbox Code Playgroud)
但是这给了我表中的所有数据.我不是数据库专家,我正在尝试使用所有unix命令来编写shell脚本,而不是编写C++代码来执行此操作(因为这是人们告诉我这是最简单的方法) .我只是拒绝编写C++代码来完成一项任务,可以在命令行的4-5语句中完成.
有什么建议?
bar*_*ddu 11
这可能看起来有点奇怪,但你可以尝试一下:
创建文本文件并在其中放置以下语句:
.mode insert
.output insert.sql
select * from TABLE where STATEMENT; -- place the needed select query here
.output stdout
Run Code Online (Sandbox Code Playgroud)
将此文件提供给sqlite3:
$ sqlite3 -init initf DATA.DB .schema > schema.sql
Run Code Online (Sandbox Code Playgroud)
结果您将获得两个文件:一个使用简单的"插入"(insert.sql),另一个使用db schema(schema.sql).
建议寻找一个可以将查询导出为 CSV 的工具。听起来你想要一个剧本。您想重用并自动化它吗?
对于其他场景,也许可以考虑sqlite-manager Firefox 插件。它支持运行即席查询并将结果导出到 CSV。
其中,给出以下声明:
SELECT ID FROM TableA
Run Code Online (Sandbox Code Playgroud)
根据需要对每个表重复此操作。
| 归档时间: |
|
| 查看次数: |
15451 次 |
| 最近记录: |