我想使用Python連接到兩個數據庫,稍後使用來自兩個數據庫的表。我怎樣才能做到這一點?以下代碼是否正確?連接到兩個數據庫
con = mdb.connect(host=MY_HOST, user=MY_USER, passwd=MY_PASS, db1=MY_DB1, db2=MY_DB2)
我想使用Python連接到兩個數據庫,稍後使用來自兩個數據庫的表。我怎樣才能做到這一點?以下代碼是否正確?連接到兩個數據庫
con = mdb.connect(host=MY_HOST, user=MY_USER, passwd=MY_PASS, db1=MY_DB1, db2=MY_DB2)
如果您在connect
調用中未指定數據庫,則可以一次寫入針對多個數據庫的查詢。 documentation表示db
不是必需的。
db = _mysql.connect('localhost', 'user', 'passwd')
然後
SELECT u.*, i.* FROM db1.users u LEFT JOIN db2.items i ON u.id = i.user_id
但它只會如果這兩個數據庫是在同一臺服務器上運行。
只是讓兩個單獨的連接
con1 = mdb.connect (host=MY_HOST, user=MY_USER, passwd=MY_PASS, db1=MY_DB1)
con2 = mdb.connect (host=MY_HOST2, user=MY_USER2, passwd=MY_PASS2, db2=MY_DB2)
,並使用一個數據庫時,獨立使用它們,就像你。
要完成答案: 「以下代碼是否正確?...」。不,這種語法不會這樣做。
你是什麼意思「從這兩個數據庫使用表」的意思。你想加入他們在一個單一的查詢?這是不可能的。 – 2012-01-20 11:11:59
@Tichodroma是的,我想從database1連接tableA和從database2連接tableB,兩個數據庫都在同一臺服務器上。可能嗎? – manxing
@manxing是的。 – greut