Created
December 19, 2017 00:19
-
-
Save BlogBlocks/a97b5fe64be50bfa4fd7fc1ac28a962f to your computer and use it in GitHub Desktop.
Python - Merging two Sqlite3 databases into a third by example.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sqlite3 | |
import time | |
import sqlite3 | |
Dbase = 'test0.db' | |
conn = sqlite3.connect(Dbase) | |
c = conn.cursor() | |
c.execute(''' | |
CREATE VIRTUAL TABLE IF NOT EXISTS merge | |
USING FTS3(file, keyword); | |
''') | |
Dbase = 'test1.db' | |
con = sqlite3.connect(Dbase) | |
cc = con.cursor() | |
cc.execute(''' | |
CREATE VIRTUAL TABLE IF NOT EXISTS merge | |
USING FTS3(file0, keyword0); | |
''') | |
Dbase = 'test2.db' | |
co = sqlite3.connect(Dbase) | |
ccc = co.cursor() | |
ccc.execute(''' | |
CREATE VIRTUAL TABLE IF NOT EXISTS merge | |
USING FTS3(file1, keyword1); | |
''') | |
co.commit() | |
file = """ | |
second time - This is data for database test0.db | |
""" | |
keyword = "SQLite inserting one database into another" | |
c.execute("INSERT INTO merge VALUES (?,?)", (file, keyword)) | |
conn.commit() | |
for row in c.execute("select * FROM merge"): | |
print row[0],row[1] | |
ccc.execute("INSERT INTO merge VALUES (?,?)", (row[0],row[1])) | |
co.commit() | |
conn.close() | |
file0 = """ | |
SECOND ENTRY - This is data for database test1.db | |
""" | |
keyword0 = "SQLite inserting test0.db database into test1.db" | |
cc.execute("INSERT INTO merge VALUES (?,?)", (file0, keyword0)) | |
con.commit() | |
for row1 in cc.execute("select * FROM merge"): | |
print row1[0],row1[1] | |
ccc.execute("INSERT INTO merge VALUES (?,?)", (row1[0],row1[1])) | |
co.commit() | |
con.close() | |
print ("--------------------------------------") | |
Dbase = 'test2.db' | |
co = sqlite3.connect(Dbase) | |
ccc = co.cursor() | |
for rowz in ccc.execute("select rowid,* FROM merge"): | |
print 'test2.db: ROW:',rowz[0],"\n",rowz[1],rowz[1] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment