【发布时间】:2012-07-25 15:29:09
【问题描述】:
我有两个不同的 SQLite 数据库 XXX 和 YYY。 XXX 包含表 A,YYY 分别包含表 B。 A 和 B 具有相同的结构(列)。 如何在 Python - SQLite API 中附加 B 的行到 A 中。 追加 A 后包含 A 行和 B 行。
【问题讨论】:
我有两个不同的 SQLite 数据库 XXX 和 YYY。 XXX 包含表 A,YYY 分别包含表 B。 A 和 B 具有相同的结构(列)。 如何在 Python - SQLite API 中附加 B 的行到 A 中。 追加 A 后包含 A 行和 B 行。
【问题讨论】:
您首先使用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()
警告:我还没有实际测试过这个,所以它可能有一些错误,但我认为基本的想法是合理的。
【讨论】: