如何在Python中将SQLite表从磁盘数据库复制到内存数据库?

35 投票
3 回答
24227 浏览
提问于 2025-04-16 06:04

如何把一个存储在磁盘上的sqlite表复制到内存数据库中?我知道这个表的结构。

3 个回答

1

对于使用Python和SQLAlchemy的人来说,还有一种替代方案:

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

这个方法的核心思想是先把源数据库的元数据复制到目标数据库,然后再一列一列地转移数据。

4

可以看看这个 SQLite备份API。里面的例子是用C语言写的,但它能让你明白怎么高效地进行备份。

39

这段代码更通用,但也许能帮到你:

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

撰写回答