为什么要使用sqlite3?
sqlite3轻量简介,无需单独的数据库服务,只需访问磁盘上的.db的文件。在某些情况下很有用。
下面是一些简单的使用代码:
- import sqlite3
- from uuid import uuid1
-
- # 连接数据库文件,如果不存在会创建
- with sqlite3.connect('./db/wav2lip.db') as conn:
- # 创建一个游标对象
- cursor = conn.cursor()
-
- # IF NOT EXISTS会阻止重复创建表
- cursor.execute('''
- CREATE TABLE IF NOT EXISTS wav2lip (
- id INTEGER PRIMARY KEY,
- uuid TEXT NOT NULL,
- flag INTEGER NOT NULL,
- oss TEXT)
- ''')
-
- # cursor.executemany() 插入多条数据
- cursor.execute('''INSERT INTO wav2lip (uuid, flag) VALUES (?, ?)''', (str(uuid1()), 0))
-
- # 更新某个字段的值
- cursor.execute('''UPDATE wav2lip SET flag = ? WHERE uuid = ? ''',(1, 'f5bcc0da-82b2-11ee-9328-acde48001122'))
-
- # 提交更改
- conn.commit()
-
- # 从表中查全部数据
- results = cursor.execute(''' SELECT * FROM wav2lip''')
- for result in results:
- print(result)
- print(result[1])
-
- # 从表中根据条件查数据
- results = cursor.execute(''' SELECT * FROM wav2lip WHERE uuid = ?''', ('f5bcc0da-82b2-11ee-9328-acde48001122',))
- for result in results:
- print(result)
-
- # 使用with不需要conn.close()了
-