Skip to content

Instantly share code, notes, and snippets.

@BlogBlocks
Created December 19, 2017 00:19
Show Gist options
  • Save BlogBlocks/a97b5fe64be50bfa4fd7fc1ac28a962f to your computer and use it in GitHub Desktop.
Save BlogBlocks/a97b5fe64be50bfa4fd7fc1ac28a962f to your computer and use it in GitHub Desktop.
Python - Merging two Sqlite3 databases into a third by example.
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