首页 > 解决方案 > 在 sql 数据库上使用 python、sqlalchemy 轻松检查表是否存在

问题描述

您好,我正在使用 sqlalchemy 和 pandas 处理一些数据,然后将所有内容保存到 sql 数据库中的表中。我正在尝试找到一种快速简单且标准化的方法来根据表名检查数据库中是否存在表。

我找到了该has_table()功能,但没有工作示例。有没有人有类似给出“引擎连接”和“表名”的东西->如果表存在则返回真或假

标签: pythondatabasesqlalchemy

解决方案


使用 SQLAlchemy 1.4+,您可以has_table使用inspect对象调用,如下所示:

import sqlalchemy as sa

# … 

engine = sa.create_engine(connection_uri)
insp = sa.inspect(engine)
print(insp.has_table("team", schema="dbo"))  # True (or False, as the case may be)

对于 SQLAlchemy 的早期版本,请参阅此处的其他答案。


推荐阅读