将第二个数据库中的表名插入到临时表中:INSERT INTO db2_tables SELECT name FROM db2.sqlite_master WHERE type='table' ORDER BY name;

使用循环遍历临时表,依次将第二个数据库中的表和数据复制到第一个数据库中,比如:

BEGIN;
INSERT INTO main.table1 SELECT * FROM db2.table1;
INSERT INTO main.table2 SELECT * FROM db2.table2;
COMMIT;

删除临时表:DROP TABLE db2_tables;

关闭第二个数据库:DETACH DATABASE db2;

关闭第一个数据库:.exit

注意事项:

  • 确保两个数据库中不存在相同的表名,否则复制表的操作会报错。
  • 如果需要复制的表结构不完全相同,需要手动调整复制语句中的列名和列类型。
  • 复制大量数据时,需要控制事务大小,以避免性能问题和内存问题。
  •