SQL Alchemy-获取表的列表?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

我在文档中找不到有关这方面的任何信息,但是如何获得在SQLAlchemy中创建的表的列表?

我使用类方法来创建表。

提问于
用户回答回答于

所有表都收集在tables属性的sqlalchemy元数据对象。只需获得这些表的名称列表:

>>> metadata.tables.keys()
['posts', 'comments', 'users']

如果您正在使用声明式扩展,那么您可能不会自己管理元数据。幸运的是,元数据仍然存在于基类中,

>>> Base = sqlalchemy.ext.declarative.declarative_base()
>>> Base.metadata
MetaData(None)

如果您试图找出数据库中存在哪些表,甚至在您还没有告诉sqlalchemy的表中,那么您可以使用表反射。sqlalchemy然后将检查数据库并用所有缺失的表更新元数据。

>>> metadata.reflect(engine)
用户回答回答于

有一种方法engine对象来获取表名列表engine.table_names()

扫码关注云+社区