为什么要使用sqlite3?
sqlite3轻量简介,无需单独的数据库服务,只需访问磁盘上的.db的文件。在某些情况下很有用。
下面是一些简单的使用代码:
import sqlite3
from uuid import uuid1
# 连接数据库文件,如果不存在会创建
with sqlite3.connect('./db/wav2lip.db') as conn:
# 创建一个游标对象
cursor = conn.cursor()
# 查询库中的表名
cursor.execute('''select name from sqlite_master where type='table'''')
tables = cursor.fetchall()
# 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])
# 推荐这么使用
cursor.execute('''SELECT * FROM wav2lip''')
results = cursor.fetchall()
# 从表中根据条件查数据
results = cursor.execute(''' SELECT * FROM wav2lip WHERE uuid = ?''', ('f5bcc0da-82b2-11ee-9328-acde48001122',))
for result in results:
print(result)
# 使用with不需要conn.close()了