在MySQL中databases are synonymous with schemas。例如,在Postgresql中,您可以在一个数据库中的多个模式之间进行查询,但不能在数据库之间(直接地)进行查询,因此可以在MySQL中查询多个数据库,因为两者之间没有区别。在
因此,在MySQL中解决多数据库查询的一个可能的解决方案是使用一个引擎、会话和基来处理模式,并将^{} keyword argument传递给表,或者反映这两个模式,以便它们完全限定。在
由于没有您的数据,我在一个名为sopython和sopython2的测试服务器上创建了2个模式(MySQL数据库):mysql> create database sopython;
Query OK, 1 row affected (0,00 sec)
mysql> create database sopython2;
Query OK, 1 row affected (0,00 sec)
并在每个表中添加了一个表:
^{pr2}$
在Python中:In [1]: from sqlalchemy import create_engine
In [2]: from sqlalchemy.orm import sessionmaker
In [3]: from sqlalchemy.ext.automap import automap_base
In [4]: Session = sessionmaker()
In [5]: Base = automap_base()
在不指定默认情况下使用的架构(数据库)的情况下创建引擎:In [6]: engine = create_engine('