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()了
相关推荐
lcanfly1 小时前
Mysql作业4
数据库·mysql
喜欢踢足球的老罗1 小时前
认证与授权:详解大型系统中用户中心与RBAC的共生关系
数据库·rbac
zhaomx19892 小时前
Spring 事务管理 Transaction rolled back because it has been marked as rollback-only
数据库·spring
l1t3 小时前
利用DeepSeek优化SQLite求解数独SQL用于DuckDB
开发语言·数据库·sql·sqlite·duckdb
lcanfly3 小时前
Mysql作业5
android·数据库·mysql
rit84324993 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
海绵啵啵呀3 小时前
SQL plus中解决上下键找历史命令的工具--rlwrap命令行工具
数据库·sql
Elastic 中国社区官方博客3 小时前
使用 Mastra 和 Elasticsearch 构建具有语义回忆功能的知识 agent
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
老邓计算机毕设4 小时前
SSM危险品运输车辆信息管理系统b2z1o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架