本文档为 SQLite 使用的详尽参考与实战指南,覆盖从基础概念、安装、命令行操作,到性能调优、并发与底层机制、备份恢复、扩展模块(FTS5/JSON1/R-Tree)、编程语言示例以及常见故障排查与实用脚本。适合开发者、运维与研究人员作为日常参考手册。
一. 快速开始(5 分钟上手)
1.1安装 SQLite CLI
Debian/Ubuntu: sudo apt install sqlite3。
macOS: brew install sqlite。
Windows: 下载 sqlite-tools,使用 sqlite3.exe。
1.2创建数据库并执行简单命令
sqlite3 demo.db
sqlite> .headers on
sqlite> .mode column
sqlite> CREATE TABLE people(id INTEGER PRIMARY KEY, name TEXT, age INTEGER);
sqlite> INSERT INTO people (name, age) VALUES ('Alice', 30), ('Bob', 25);
sqlite> SELECT * FROM people;
sqlite> .exit
1.3 命令行工具使用(以 Windows 为例)
下载 SQLite 核心包:从 SQLite 官网 下载 sqlite-tools-win32-x86-xxxx.zip;
解压后得到 sqlite3.exe,双击运行即可进入命令行交互模式;
核心命令行指令: .help:查看所有命令行帮助;
.open <数据库名>:打开或创建数据库(如 .open test.db,若不存在则在当前目录创建 test.db 文件);
.tables:查看当前数据库中所有表;
.schema <表名>:查看指定表的创建语句;
.exit 或 .quit:退出命令行模式。
二、数据库基础操作
SQLite 以单个文件存储整个数据库(如 test.db),操作数据库的核心是 “打开 / 创建数据库” 和 “管理数据库元信息”。
2.1 创建 / 打开数据库
命令行方式:通过 .open 指令,如 .open student.db(若 student.db 不存在则自动创建);
SQL 语句方式:无需显式 “创建数据库”,连接时指定不存在的文件名即自动创建;
注意:特殊数据库 :memory: 表示内存数据库,数据仅存于内存,程序退出后丢失,适合临时测试: .open :memory: -- 打开内存数据库
2.2 查看数据库信息
查看所有表: .tables -- 命令行指令
SELECT name FROM sqlite_master WHERE type='table'; -- SQL 语句(通用)
查看表结构:
.schema student -- 命令行指令,查看 student 表结构
PRAGMA table_info(student); -- SQL 语句,查看表字段详情(含类型、主键等)
三、表操作(DDL:数据定义语言)
表是 SQLite 存储数据的核心载体,DDL 操作包括创建表、修改表、删除表,需遵循 SQLite 数据类型规则(SQLite 采用 “动态类型”,字段类型仅为建议,实际存储按值的类型决定)。