使用python、sqlalchemy在sql数据库上轻松检查表是否存在

KZi*_*vas 3 python database sqlalchemy

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

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

Gor*_*son 8

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

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

  • @Freude - `schema=` 关键字参数默认为 `None`,所以你可以简单地忽略它。 (2认同)