通过 17 个引导式实验扩展 SQLite 技能,涵盖复杂查询、完整性规则、自动化、专用搜索、分析、备份、调优和维护。每个实验都使用小型本地数据库,让你执行相应 SQL 或 CLI 命令,并查看结构、数据行、查询计划或数据库状态的变化。
课程涵盖广泛的中高级主题,但仍采用分步学习形式。你将从约束和索引逐步学习连接、子查询、事务、触发器、视图、FTS5、CTE、窗口函数和运维命令,而无需设计一个大型完整应用。
你将学到什么
- 使用外键、
CHECK约束、复合键和ON CONFLICT操作维护数据完整性 - 创建和删除索引,查看
EXPLAIN QUERY PLAN,重建索引,运行ANALYZE,并通过VACUUM回收空间 - 使用内连接、左连接、多表连接、聚合、
GROUP BY、HAVING和相关子查询组合与汇总数据 - 使用
BEGIN、COMMIT、ROLLBACK、保存点和拒绝无效余额的约束控制修改 - 通过触发器自动生成审计记录,并构建简单、连接、聚合及由触发器支持更新的视图
- 创建 FTS5 虚拟表,并使用
MATCH、前缀、指定列和布尔全文搜索 - 将 JSON 存为文本,并通过自定义 Python
json_extractSQL 函数完成提取、过滤和更新 - 导出与恢复 SQL dump,配置 PRAGMA,使用临时表,编写简单与递归 CTE,并通过窗口函数计算排名和累计值
本课程适合谁
本课程适合已经会创建 SQLite 数据库与表,并能编写基础 SELECT、INSERT、UPDATE 和 DELETE 的开发者、分析人员及数据库学习者。如果你想在大型项目之前通过引导实践接触多种 SQLite 特性,本课程会很合适。
前置要求: 建议具备 SQLite CLI 和 SQL 基础,包括建表、主键、简单过滤和 CRUD。了解基本 Python 有助于完成 JSON 实验,但课程大部分内容不需要 Python。
学习环境: 全部 17 个入门级引导实验都在 Ubuntu 22.04 桌面 VM 中运行,主要使用 sqlite3 CLI。课程包含 84 个任务步骤和 101 个自动检查;JSON 实验还会使用标准 sqlite3 与 json 模块创建并运行 Python 脚本。
常见问题
课程实际有多高级?
主题超出基础 SQL,包含递归 CTE、窗口函数、FTS5、触发器和查询计划。不过 17 个实验全部标为入门级,并在小型示例数据库上提供分步命令,因此重点是引导式功能练习,而非独立数据库工程。
JSON 实验使用 SQLite 原生 JSON 函数吗?
不使用。实验将 JSON 存为文本,定义一个名为 json_extract 的 Python 函数,并把它注册到 Python SQLite 连接中。这不同于练习 SQLite 内置 JSON 运算符或 JSON 函数。
课程采用什么备份方式?
备份实验使用 CLI .dump 命令创建文本 SQL dump,并将该 SQL 输入新数据库进行恢复。它不涵盖在线备份 API、二进制文件安全复制、定时备份或时间点恢复。
学完后可以调优生产数据库吗?
课程会介绍索引、查询计划、日志模式、外键检查、缓存大小、完整性检查、ANALYZE 和 VACUUM,但不会对真实负载做基准测试,也不涵盖并发写入、应用连接管理、故障测试或生产监控。


