How to copy a disk based sqlite table to a memory database in python? I know the schema of the table.
If your application install in android device, you can copy the sqlite DB file to the external folder with following code, then you can send the DB file by email or upload the DB file by Google drive, then you can download the file in PC.
SQLite in-memory databases are databases stored entirely in memory, not on disk. Use the special data source filename :memory: to create an in-memory database. When the connection is closed, the database is deleted. When using :memory: , each connection creates its own database.
this code is more general but maybe it can help you:
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)
EDIT : for getting your specify table you can just change in the for loop like this:
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
Check out the SQLite Backup API. The example is in C, but this should show you how it's done efficiently.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With