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

标签 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 (*)...... "

如何检查?

最佳答案

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

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

您可以通过执行以下操作将此 View 应用到您的代码中:

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

关于python - 如何检查表是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044259/

相关文章:

python - virtualenv 可重定位——它真的有效吗

python - 如何从python导入路径中删除当前目录

python - 将函数变量转储到 python/ipython 中的工作区

python - 如何在 Django 中存储同一字段的多个副本?

java - 按计数查询dsl转换器组

sql - Cognos Report Studio 版本 10.2.1 中格式化日期提示出现问题

从两个表进行mysql反向文本搜索

mysql - 从 2 个不同的表收集数据,条件如下

c# - 我如何在 NHibernate 中执行反向 LIKE 查询?

python - 如何使用 .shift() 根据条件过滤数据框