我将数据写入sqlite数据库,但由于数据集非常大,我将这个过程分成五个部分。结果,我同时写入五个不同的sqlite数据库,每个数据库具有相同的列名,最后,我想将五个数据库中的五个表一起附加到一个表中。这样做的方法是什么?
答案 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 变体包含(最终)重复记录。