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



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

我已经找到了has_table()函数,但没有工作示例。有人有类似给予的东西吗;发动机连接""表名"->如果表存在,则返回true或false

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

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的早期版本,请参阅此处的其他答案。

所以我从第一个回复开始就基于这个想法制作了这个函数:

def table_exists(engine,name):
ins = inspect(engine)
ret =ins.dialect.has_table(engine.connect(),name)
print('Table "{}" exists: {}'.format(name, ret))
return ret

相关内容

  • 没有找到相关文章

最新更新