小编典典

python-如何检查表是否存在?

sql

我正在使用此功能:

def checker(name,s)
        MY_T = "SELECT count(*) FROM `"+session.SessionInfo.Name where EventName='"+name+"'"

我想检查表是否存在,该怎么办?我看到了一些使用示例:XXXX.execute()这是什么意思?

这是我所看到的:

query = cursor.execute("""SELECT count(*) FROM scan WHERE prefix = %s and code_id = %s and answer = %s and station_id = %s""",
                          (prefix, code_id, answer, station,))
        if query != 1:

我尝试打印MY_T以查看是否返回-1,但它只是打印 "select count (*)...... "

我该如何检查?任何帮助将不胜感激。


阅读 211

收藏
2021-04-22

共1个答案

小编典典

使用“表”信息模式视图。 http://dev.mysql.com/doc/refman/5.0/en/information-
schema.html

SELECT * FROM information_schema.tables
WHERE table_name = 'YOUR TABLE'

您可以通过执行以下操作将此视图应用于代码:

def checkTableExists(dbcon, tablename):
    dbcur = dbcon.cursor()
    dbcur.execute("""
        SELECT COUNT(*)
        FROM information_schema.tables
        WHERE table_name = '{0}'
        """.format(tablename.replace('\'', '\'\'')))
    if dbcur.fetchone()[0] == 1:
        dbcur.close()
        return True

    dbcur.close()
    return False
2021-04-22