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



我正在将数据写入sqlite数据库,但由于数据集非常大,所以我将该过程分为五个部分。因此,我同时向五个不同的sqlite数据库写入数据,每个数据库都有相同的列名,最后,我想将这五个数据库中的五个表附加到一个表中。怎么做呢?

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

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

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

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

类似:

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

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

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

最新更新