如何将sqlite表从磁盘数据库复制到python中的内存数据库?

时间:2010-10-25 21:35:27

标签: python database sqlite copy

如何在python中将基于磁盘的sqlite表复制到内存数据库?我知道桌子的架构。

3 个答案:

答案 0 :(得分:31)

这段代码更通用,但也许它可以帮到你:

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

答案 1 :(得分:3)

查看SQLite Backup API。示例是在C中,但这应该向您展示它是如何有效地完成的。

答案 2 :(得分:1)

另一种选择,对于那些使用python和sqlalchemy:

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

背后的想法是将元数据从源数据库复制到目标数据库,然后在列之后传输列。