sqlite3简单使用

为什么要使用sqlite3?

sqlite3轻量简介,无需单独的数据库服务,只需访问磁盘上的.db的文件。在某些情况下很有用。

下面是一些简单的使用代码:

python 复制代码
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()了
相关推荐
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横1 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据3 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡3 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧3 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon3 天前
SQL学习指南——视图
数据库·sql