我有一个访问2个数据库的MySQL查询。我正在使用Python来执行查询。 Python MySQL连接的问题在于它在任何时候连接到单个数据库,如下所示;
DbConnection = MySQLdb.connect(host='localhost', user='root', passwd='', db='MySQLDatabase')
如何让Python执行访问2个数据库的查询?
答案 0 :(得分: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")