用途:SQLite 是嵌入式 SQL 引擎,形式为库加文件(或 :memory:),无独立服务器进程。本技能封装 SQLite 生态,而非其分支,覆盖 sqlite3 CLI、C API 与语言绑定、JSON1、WAL、迁移执行器及文件格式文档。适用于工具、智能体、测试与单用户应用的本地持久化,Cursor 会话存储,以及在采用 PostgreSQL 前做模式原型。需要服务端角色、连接池、Timescale、pgvector 或高可用时改用 postgres。
主要能力与用法:CLI 使用 sqlite3 ./app.db,交互命令有 .tables、.schema [table]、.headers on / .mode column、.dump,退出用 CTRL+D 或 .quit。元数据存于 sqlite_master,可查询 SELECT type, name, tbl_name, sql FROM sqlite_master ORDER BY type, name;。关键 pragma:journal_mode(WAL 适合读多并发,写仍串行)、foreign_keys(PRAGMA foreign_keys = ON; 多数驱动需按连接启用)、synchronous(持久性与速度权衡)、user_version(自管迁移版本号),官方参考见 https://www.sqlite.org/pragma.html。JSON1 提供 json_extract、json_each 等函数,见 https://www.sqlite.org/json1.html。类型采用动态类型与类型亲和性,可选 STRICT 表拒绝非法类型,见 https://www.sqlite.org/stricttables.html。迁移按顺序应用 SQL 文件或 ORM 迁移(Drizzle、Prisma、Alembic 等),跟踪 user_version 或使用 schema_migrations 表,每个项目选一种约定;已安装 sqldiff 时可比较数据库。FTS5 为内置全文引擎,使用独立虚拟表。
限制与配套:SQLite 单写者、WAL 仅改善读并发;扩展为内置 JSON1、FTS5;部署为单文件,移植到 PostgreSQL 需审查类型与锁语义,非机械改名。Datasette 可在同一 .db 文件上提供只读 Web UI 与 JSON API,但不替代 sqlite3 做 DDL 或批量写入。cursor-mirror 记录 Cursor 本地 SQLite 数据库的表结构与 YAML 模型。相关技能:postgres、schema、cursor-mirror。