Подтвердить что ты не робот

Как скопировать таблицу sqlite из базы данных диска в базу данных памяти в python?

Как скопировать таблицу sqlite на основе диска в базу данных памяти в python? Я знаю схему таблицы.

4b9b3361

Ответ 1

этот код более общий, но, возможно, он может вам помочь:

import sqlite3

new_db = sqlite3.connect(':memory:') # create a memory database

old_db = sqlite3.connect('test.db')

query = "".join(line for line in old_db.iterdump())

# Dump old database in the new one. 
new_db.executescript(query)

РЕДАКТИРОВАТЬ: для получения вашей таблицы указаний можно просто изменить в цикле for следующим образом:

name_table = "test_table"  # name of the table that you want to get.

for line in old_db.iterdump():
    if name_table in line:
        query = line
        break

Ответ 2

Ознакомьтесь с SQLite Backup API. Пример приведен в C, но это должно показать вам, как это сделать эффективно.

Ответ 3

Альтернатива для тех, кто использует python и sqlalchemy:

http://www.tylerlesmann.com/2009/apr/27/copying-databases-across-platforms-sqlalchemy/

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