如何在Python中将SQLite表从磁盘数据库复制到内存数据库?
如何把一个存储在磁盘上的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