2014-03-02 70 views
1

我有一個訪問2個數據庫的MySQL查詢。我正在使用Python來執行查詢。 Python MySQL連接的問題在於它在任何時候都像下面那樣連接到單個數據庫;執行MySQL查詢,訪問Python中的單獨數據庫

DbConnection = MySQLdb.connect(host='localhost', user='root', passwd='', db='MySQLDatabase') 

如何讓Python執行訪問2個數據庫的查詢?

回答

3

您可以使用數據庫的名稱限定表名。例如,如果您指定的數據庫db1當你建立與服務器的連接,但要執行另一個數據庫db2涉及表的查詢,只需這樣做:

conn = MySQLdb.connect(host='localhost', user='root', db='db1') 
c = conn.cursor() 
c.execute("SELECT * FROM foo JOIN db2.bar") 

還請注意,這不是在建立連接時需要指定數據庫的情況。如果您確實省略了數據庫,則需要使用數據庫的名稱來限定每個表名:

conn = MySQLdb.connect(host='localhost', user='root') 
c = conn.cursor() 
c.execute("SELECT * FROM db1.foo JOIN db2.bar")