Python使用SQList判断表是否存

发布时间:2019-08-30 08:36:26编辑:auto阅读(1788)

    需求是这样的:如果player表不存在,则创建表。

    网上最多的是

    SELECT count(*) FROM sqlite_master WHERE type='table' AND name='tableName';

    但是我在用的时候就会出现这个错误:

    OperationalError: no such column: players

    我的查询语句是这么写的:

    query = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name=%s" %"players"
    

    出现这个问题后就很苦恼,因为网上查到的基本都是这个。
    其实这个问题是因为参数类型导致的。把上面的查询语句修改为:


    query = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='%s'" %"players"
    

    就可以正常查询了。


    但是,其实是可以有更方便的方法的:

    dbcurs.execute('''
        CREATE TABLE IF NOT EXISTS players(
        id          FLOAT           PRIMARY KEY,
        name        TEXT
        )
        ''')
    在创建表的时候直接使用if not exists进行判断。



                   

                     

    
    
    
    
    
    

关键字