2012-07-25 6 views
2

두 개의 서로 다른 SQLite 데이터베이스 XXX 및 YYY가 있습니다. XXX에는 표 A가 포함되어 있고 YYY에는 B가 각각 들어 있습니다. A와 B는 동일한 구조 (열)를가집니다. Python에서 A의 B 행을 추가하는 방법 - SQLite API. A를 추가 한 후 A 행과 B 행을 포함합니다.두 데이터베이스의 병합 테이블 - sqlite3/Python

답변

5

먼저 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() 

경고 :이 거기에 몇 가지 버그가있을 수 있습니다, 그래서 난 사실,이 테스트를하지 않은,하지만 기본적인 아이디어는 소리, 나는 생각한다.

+0

감사합니다. 추가하는 것을 사용하는 것보다 쉽습니다. –