如何使用python检查表是否存在?

时间:2017-03-28 11:38:52

标签: python mysql

我想在插入数据之前检查表是否存在。 这就是我的尝试:

def checkTables(tablename):
    stmt = "SHOW TABLES LIKE %s"%tablename          
    cursor.execute(stmt)
    result = cursor.fetchone()          
    return result

但它让我错误地说:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ctg_payload3' at line 1

3 个答案:

答案 0 :(得分:0)

也许这不是最好的方式。

至于我的意见,我会show tables;,然后搜索结果。

而且,我无法执行show tables like tablename;,没有这样的语法。

编辑1

如果必须在sql中执行,请使用

 show table status like 'table_name';
这个sql需要

'

答案 1 :(得分:0)

尝试此查询字符串:SHOW TABLES WHERE Tables_in_mydb LIKE '%tablename%'

这一个

SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'my_database_name'
AND table_name LIKE '%tablename%'
祝你好运

答案 2 :(得分:0)

试试这个。

def checkTables(tablename):
    stmt = "SHOW TABLES LIKE '%s' "% ('%'+str(tablename)+'%')
    cursor.execute(stmt)
    result = cursor.fetchone()          
    return result