Самый быстрый способ объединить две базы данных SQLITE

У меня есть 3 SQLite DBs, каждый из которых имеет точно такой же набор из 7 таблиц относительно структуры таблицы. [Это дампы журналов с 3 разных машин].

Я хочу объединить их в одну БД SQLite, имея те же самые 7 таблиц, но каждая таблица должна иметь объединенные данные из всех трех БД. поскольку я хочу запускать запросы через 3 из них. Какой самый лучший, самый быстрый способ это сделать.

2 ответов


экспортируйте каждую базу данных в дамп SQL, а затем импортируйте дампы в новую объединенную базу данных.

для GUI взгляните на http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

например,SQLiteStudio что будет база данных>экспорт базы данных: экспорт формате: SQL>сделал.


вот это один из способов объединить две базы данных со всеми таблицами одинаковой структуры. Надеюсь, это поможет.

import sqlite3
con3 = sqlite3.connect("combine.db")

con3.execute("ATTACH 'results_a.db' as dba")

con3.execute("BEGIN")
for row in con3.execute("SELECT * FROM dba.sqlite_master WHERE type='table'"):
    combine = "INSERT INTO "+ row[1] + " SELECT * FROM dba." + row[1]
    print(combine)
    con3.execute(combine)
con3.commit()
con3.execute("detach database dba")