【问题标题】:Execute MySQL query that access separate databases in Python在 Python 中执行访问不同数据库的 MySQL 查询
【发布时间】:2014-03-02 04:43:37
【问题描述】:

我有一个访问 2 个数据库的 MySQL 查询。我正在使用 Python 来执行查询。 Python MySQL 连接的问题在于它在任何时候都连接到单个数据库,如下所示;

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

如何让 Python 执行访问 2 个数据库的查询?

【问题讨论】:

    标签: python mysql python-2.7 mysql-python


    【解决方案1】:

    您可以使用数据库名称来限定表名。例如,如果您在建立与服务器的连接时指定了一个数据库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")
    

    【讨论】:

      猜你喜欢
      • 2011-12-27
      • 2014-08-17
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      相关资源
      最近更新 更多