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

Cla*_*lay 28 python database sqlite copy

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

mou*_*uad 34

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

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)
Run Code Online (Sandbox Code Playgroud)

编辑:为了获取您的指定表,您可以像这样在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
Run Code Online (Sandbox Code Playgroud)

  • 这看起来很有效,但它的效率如何? (2认同)
  • @mouad,在C中这可能是二次的,因为你每一步都要构建一个长度为N的字符串.(实际上,平均长度是N/2,但那仍然是O(N)).Python可能会优化它. (2认同)