Самый быстрый способ объединить две базы данных SQLITE - PullRequest
12 голосов
/ 19 февраля 2012

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

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

Ответы [ 2 ]

13 голосов
/ 10 мая 2016

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

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")
5 голосов
/ 19 февраля 2012

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

Для графических интерфейсов посмотрите http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

Например, с SQLiteStudio это будет База данных > Экспорт базы данных : Формат экспорта : SQL > Готово .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...