gpt4 book ai didi

python - 使用 SQLAlchemy 列出数据库表

转载 作者:IT老高 更新时间:2023-10-28 21:37:08 27 4
gpt4 key购买 nike

我想实现一个函数,它提供有关数据库中存在的所有表(及其列名)的信息(不仅是使用 SQLAlchemy 创建的那些)。在阅读文档时,在我看来这是通过反射完成的,但我没有设法让某些东西起作用。有关如何执行此操作的任何建议或示例?

最佳答案

从引擎开始:

from sqlalchemy import create_engine
engine = create_engine("postgresql://u:p@host/database")

所有表/列名称的快速路径,使用检查器:

from sqlalchemy import inspect
inspector = inspect(engine)

for table_name in inspector.get_table_names():
for column in inspector.get_columns(table_name):
print("Column: %s" % column['name'])

文档:http://docs.sqlalchemy.org/en/rel_0_9/core/reflection.html?highlight=inspector#fine-grained-reflection-with-inspector

或者,使用元数据/表格:

from sqlalchemy import MetaData
m = MetaData()
m.reflect(engine)
for table in m.tables.values():
print(table.name)
for column in table.c:
print(column.name)

文档:http://docs.sqlalchemy.org/en/rel_0_9/core/reflection.html#reflecting-all-tables-at-once

关于python - 使用 SQLAlchemy 列出数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21310549/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com