lemooljiang avatar

SQLite极简入门 / ai #63

lemooljiang

Published: 29 Jul 2026 › Updated: 29 Jul 2026SQLite极简入门 / ai #63

SQLite极简入门 / ai #63

DeepAgent等Agent都采用了SQLite作为本地数据库来用,看来,是要对SQLite补补课啰。

sqlite.jpg
SQLite(来源:网络)

下载与资源

官网
菜鸟教程

简介

SQLite 是一个零配置、无服务器、单文件存储的轻量级关系型数据库引擎。它不需要安装独立的服务进程,整个数据库就是一个磁盘文件(.db 或 .sqlite),非常适合嵌入式应用、本地数据存储、原型开发和中小型项目。

特点

特性说明
零配置无需安装、启动服务或修改配置文件
单文件整个数据库(表、索引、数据)存于一个文件中
跨平台支持 Windows、macOS、Linux、Android、iOS 等
嵌入式直接嵌入到应用程序中(如 Python 内置支持)
事务安全支持 ACID,通过 WAL 模式提升并发性能
轻量库文件仅几百 KB,资源占用极低

简单运用

Python 标准库自带 sqlite3 模块,无需额外安装。

  1. 创建数据库
import sqlite3

# 连接数据库(不存在则自动创建)
conn = sqlite3.connect('demo.db')
cursor = conn.cursor()

# 创建用户表
cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER,
        email TEXT UNIQUE
    )
''')
conn.commit()
  1. 插入数据
# 单条插入
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)",
               ("张三", 25, "zhangsan@example.com"))

# 批量插入
users = [
    ("李四", 30, "lisi@example.com"),
    ("王五", 22, "wangwu@example.com"),
]
cursor.executemany("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", users)
conn.commit()
  1. 查询数据
cursor.execute("SELECT * FROM users WHERE age > ?", (20,))
rows = cursor.fetchall()

for row in rows:
    print(row)  # (1, '张三', 25, 'zhangsan@example.com')
  1. 关闭连接
cursor.close()
conn.close()

案例 :本地待办事项管理

import sqlite3
from datetime import datetime

conn = sqlite3.connect('todo.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS todos (
    id INTEGER PRIMARY KEY,
    task TEXT,
    created_at TEXT,
    done INTEGER DEFAULT 0
)''')

# 添加任务
c.execute("INSERT INTO todos (task, created_at) VALUES (?, ?)",
          ("学习 SQLite", datetime.now().isoformat()))
conn.commit()

# 查看未完成任务
c.execute("SELECT * FROM todos WHERE done = 0")
print(c.fetchall())
conn.close()

Leave SQLite极简入门 / ai #63 to:

Written by

Designer , Poet , Technology enthusiasts

Read more #cn posts


Best Posts From lemooljiang

We have not curated any of lemooljiang's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From lemooljiang