python – 基本的pySQLite示例?

前端之家收集整理的这篇文章主要介绍了python – 基本的pySQLite示例?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Gang,我开始玩pysqlite了,我正在尝试找一个例子,说明如果在db中存在新记录之前如何在插入新记录之前查询db的现有记录.我觉得我忽略了一个非常基本的功能.

谢谢!

解决方法

在创建表时使用UNIQUE关键字,并仅在记录为“new”(唯一)时使用INSERT OR INGORE插入:
connection=sqlite3.connect(':memory:')
cursor=connection.cursor()
cursor.execute('CREATE TABLE foo (bar INTEGER UNIQUE,baz INTEGER)')

这里我们插入一次行:

cursor.execute('INSERT INTO foo (bar,baz) VALUES (?,?)',(1,2))

尝试再次插入行失败:

try:
    cursor.execute('INSERT INTO foo (bar,2))
except sqlite3.IntegrityError as err:
    print(err)
    # sqlite3.IntegrityError: column bar is not unique

INSERT或IGNORE仅在传递UNIQUE约束时才插入记录:

cursor.execute('INSERT OR IGNORE INTO foo (bar,3))

cursor.execute('SELECT * from foo')
data=cursor.fetchall()
print(data)
# [(1,2)]

要在多个字段上创建UNIQUE索引,请使用类似的内容

cursor.execute('''
    CREATE TABLE foo (bar INTEGER,baz INTEGER,bing INTEGER,UNIQUE (bar,baz))''')

以下是信息的链接

> INSERT OR IGNORE
> UNIQUE constraints

原文链接:https://www.f2er.com/python/186406.html

猜你在找的Python相关文章