Python 2.7 如何检查sqlite3中是否存在表

Python 2.7 如何检查sqlite3中是否存在表,python-2.7,sqlite,Python 2.7,Sqlite,我是SQL新手。我想检查数据库中是否存在表。如果它不存在,则创建它。我还想检查表中是否存在记录。如果存在,则使用新数据更新它;如果不存在,则在表中插入新记录。这是代码。我不知道如何检查现有的表、记录 import sqlite3 as lite con = lite.connect('test.db') cur = con.cursor() con.execute('''CREATE TABLE EMPLOYEE

我是SQL新手。我想检查数据库中是否存在表。如果它不存在,则创建它。我还想检查表中是否存在记录。如果存在,则使用新数据更新它;如果不存在,则在表中插入新记录。这是代码。我不知道如何检查现有的表、记录

  import sqlite3 as lite            
  con = lite.connect('test.db')

        cur = con.cursor()    

        con.execute('''CREATE TABLE EMPLOYEE 
                   (ITEMA            TEXT PRIMARY KEY     NOT NULL,
                   ITEMB           CHAR(50)                 NOT NULL,                       
                   ITEMC        CHAR(50),
                   ITEM0         TEXT
                   ITEM1           TEXT
                   ITEM2           TEXT
                   ITEM3           TEXT
                   ITEM4           TEXT);''')



        con.execute("INSERT INTO EMPLOYEE (ID,NAME,ADDRESS,MOBILE_NUMBER,TRANSPORT_FOR_LUNCH,ONLY_DROP,KIDS,ADULTS) \
        VALUES   (%s,%s',%s,%s,%s,%s,%s,%s)" %(ia,ib,ic,i0,i1,i2,i3,i4));

要在sqlite中测试表的存在性,可以执行以下操作:

   cursor = con.cursor()
   statement = "SELECT name FROM sqlite_master WHERE type='table';"
   if (table_name,) in cursor.execute(statement).fetchall():
        print "Table %s exists." % table_name
要根据记录的预先存在进行更新或创建,sqlite允许使用,这是
插入或替换的别名:

  replace into table_name (columns) values (values)

仅当它不存在时创建,而不是在上面的代码中使用“替换”时插入。我得到下面的错误。错误无此列:A000000:CREATE TABLE和INSERT INTO语句的列名不匹配
CREATE TABLE EMPLOYEE IF NOT EXISTS ..