用途:管理 SQLite 嵌入式数据库。SQLite 无守护进程、无端口、无 systemd 单元,数据库就是磁盘上的单个文件(如 /var/lib/myapp/data.db),由进程直接打开和关闭。安装方式:apt install sqlite3 或 dnf install sqlite。
主要能力:打开数据库 sqlite3 /path/to/db.sqlite3;用 .help 查看点命令;.tables 列出表;.schema 查看建表语句;PRAGMA table_info(<table>) 查看列信息;.mode column/table/json/csv 切换输出格式,.headers on 显示表头;执行 SELECT/INSERT/UPDATE/DELETE;.dump 导出整库 SQL,.read 导入 SQL 文件,.import --csv 导入 CSV;VACUUM 回收空间;PRAGMA integrity_check 校验完整性;PRAGMA journal_mode 查看或设为 WAL;ATTACH 挂载第二个库;.backup 在线备份;.quit 退出。
使用与检查:file 命令应报告 SQLite 3.x database;sqlite3 db.sqlite3 "PRAGMA integrity_check;" 返回 ok;.tables 正常列出表;ls -lh 确认文件非空且权限正确。WAL 模式会生成 -wal 和 -shm 两个附属文件。
常见故障:database is locked 多为另一写入者持有排他锁,同一时刻只允许一个写连接,可切 WAL 支持并发读;disk I/O error 检查权限、磁盘空间与完整性;残留 WAL 附属文件可安全打开,SQLite 下次打开自动检查点,也可 PRAGMA wal_checkpoint(FULL);no such table 多为打开错文件;CSV 编码错误可用 iconv 转 UTF-8;大库慢查询用 EXPLAIN QUERY PLAN 查看是否 SCAN TABLE;unable to open database file 需确认路径存在且父目录可写。
限制:单写入者,写操作串行化,高写并发应考虑 WAL 或客户端-服务器数据库;无用户认证,访问控制完全基于文件系统权限;批量删除后需手动 VACUUM 才会缩小文件;采用类型亲和而非严格类型,除非建表用 STRICT;日期无原生类型,以 TEXT/REAL/INTEGER 存储;全文检索需单独创建 FTS5 虚拟表。参考资料见 references/ 下的 sqlite-cli.md 与 docs.md。