合并来自两个不同数据库的表 - sqlite3 / Python

时间:2012-07-25 15:29:10

标签: python api sqlite merge

我有两个不同的SQLite数据库XXX和YYY。 XXX包含表A,YYY分别包含B. A和B具有相同的结构(列)。 如何在Python中附加A的行 - SQLite API。 附加A后包含A行和B行。

1 个答案:

答案 0 :(得分:7)

首先使用sqlite3.connect获取与数据库的连接,然后创建游标以便执行sql。一旦有了游标,就可以执行任意的sql命令。

示例:

import sqlite3

# Get connections to the databases
db_a = sqlite3.connect('database_a.db')
db_b = sqlite3.connect('database_b.db')

# Get the contents of a table
b_cursor = db_b.cursor()
b_cursor.execute('SELECT * FROM mytable')
output = b_cursor.fetchall()   # Returns the results as a list.

# Insert those contents into another table.
a_cursor = db_a.cursor()
for row in output:
    a_cursor.execute('INSERT INTO myothertable VALUES (?, ?, ...etc..., ?, ?)', row)

# Cleanup
db_a.commit()
a_cursor.close()
b_cursor.close()
警告:我实际上没有对此进行测试,因此可能会有一些错误,但我认为基本的想法是合理的。