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()了
相关推荐
AAA修煤气灶刘哥10 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud14 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术17 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug21 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom21 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*21 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰21 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*21 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring