自审日期:2026 年 10 月 14 日。正文:从自然语言到 SQL。状态:用户已于 2026 年 10 月 15 日审阅通过。
以有少量 SQL 基础、首次阅读本系列的开发者为读者,检查问题是否讲清、数字能否核对,以及示例能否独立运行。
| 读者可能遇到的问题 | 修改 |
|---|---|
| 看到一个发票字段,却不知道它为何代表销售额 | 在表结构前给出本例的金额、日期、状态和单位约定 |
| 分不清 AI 生成查询与实际读取数据库的关系 | 用流程图区分 SQL 生成、工具执行、数据库返回与答案整理 |
| 不熟悉 SQL 表别名,阅读查询时停住 | 增加 i、c 的解释,并按查询动作说明各子句 |
| 日期字符串能否直接比较不清楚 | 补充统一时区和日期格式,说明六月到七月的时间边界 |
| 本机路径和正文位置让样例难以复制 | 改为在样例目录执行;复跑脚本只依赖同目录三个文件 |
| 文字有重复提示和刻意铺垫 | 删去重复解释、提示词式反衬和预告细节的套话,使用具体字段和结果说明问题 |
使用 Python 自带 SQLite 3.42.0,在内存中建立自编样例并执行 SQL:
23:59:59 的发票计入六月,七月一日的发票排除。结果保存在样例核对输出。
正文保留一个问题、一条主查询和一张结果表。样例文件用于需要动手的读者,安装完整 Foggy 环境放在后续应用篇。
2026 年 10 月 15 日,用户回复“可以,下一章吧”,本章审阅通过,开始第 2 章。
同日按用户意见,将“从这个例子看 AI 需要什么上下文”调整为“先通过提示词解释数据结构”,围绕表、字段和关系怎样通过提示词进入 AI 上下文展开,并保留本次查询的业务口径说明。
随后补充“让 AI 从源码整理提示词”:从 JPA 实体映射、MyBatis Mapper/SQL 以及相关枚举和业务代码提取说明,附可直接使用的任务描述;由人核对源码与实际数据库、业务定义后使用。框架映射说明参考官方文档,本次只修改文字。
按用户后续意见,明确除以 100 是将分换算为元,增加 300000 分对应 3000 元的例子;章末归纳问题理解、数据匹配、关联粒度、计算规则、按需换算金额单位、SQL 生成和结果解释七个环节,区分 AI、查询工具与数据库的职责,作为后续 DSL 路线对照的依据。
2026 年 10 月 15 日,按用户要求删减重复口径、结果表后的完整排名复述,以及重复的职责说明;合并过渡段落,缩短源码整理技巧和练习说明。中文字符从 2703 减至 1395,约减少 48%。
复审保留了表结构、完整 SQL、结果核对、分转元说明、源码辅助整理提示词和七步小结。SQL 与样例文件一致,本地链接和代码块完整;本次只调整文字,沿用已核对的查询结果。