sqlite从两个具有完全相同模式的数据库中追加两个表

时间:2015-05-17 21:32:10

标签: sqlite

我将数据写入sqlite数据库,但由于数据集非常大,我将这个过程分成五个部分。结果,我同时写入五个不同的sqlite数据库,每个数据库具有相同的列名,最后,我想将五个数据库中的五个表一起附加到一个表中。这样做的方法是什么?

2 个答案:

答案 0 :(得分:10)

您可以使用ATTACH在同一连接中访问另一个数据库文件的内容:

ATTACH "/some/where/db2.sqlite" AS db2;
INSERT INTO main.MyTable SELECT * FROM db2.MyTable;

(主数据库始终称为main;打开新的数据库连接相当于ATTACH "filename" AS main。)

答案 1 :(得分:3)

您可以使用 UNION UNION ALL 合并两个或多个查询。

类似的东西:

SELECT Field1, Field2, Field3 FROM Table1
UNION 
SELECT Field1, Field2, Field3 FROM Table2

您可以使用INSERT INTO NewTableName (SELECT ...)从该UNION创建新表。

UNION 子句的 ALL 变体包含(最终)重复记录。