连接到两个数据库

man*_*ing 7 python mysql

我想使用Python连接到两个数据库,稍后使用两个数据库中的表.我怎样才能做到这一点?以下代码是否正确?

con = mdb.connect(host=MY_HOST, user=MY_USER, passwd=MY_PASS, db1=MY_DB1, db2=MY_DB2)
Run Code Online (Sandbox Code Playgroud)

gre*_*eut 17

如果未在connect调用中指定数据库,则可以一次针对多个数据库编写查询.该文件说,db不是必需的.

db = _mysql.connect('localhost', 'user', 'passwd')
Run Code Online (Sandbox Code Playgroud)

然后

SELECT u.*, i.* FROM db1.users u LEFT JOIN db2.items i ON u.id = i.user_id
Run Code Online (Sandbox Code Playgroud)

它只有在两个数据库位于同一服务器上时才有效.

  • 一个连接与两个连接. (2认同)
  • 两个连接意味着两个套接字可以打开MySQL服务器.选择数据库就像是"使用那个db",所以你默认使用那个数据库.如果你打算同时在多个数据库之间进行查询,那么选择一个数据库可能会更简单,这真的是一个品味问题.但是两个连接不是必需的.如果你想在它们之间切换,你总是可以做`cursor.exectue('USE otherDB')`. (2认同)

Joh*_*erg 8

只需两个独立的连接

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)
Run Code Online (Sandbox Code Playgroud)

并像使用一个数据库一样独立使用它们.

要完成答案:"以下代码是否正确?......".不,该语法不会这样做.