实战型AI应用SQL查询编写提示词
本提示词方案旨在将用户定位为“AI辅助的SQL开发专家”,通过结构化指令引导AI生成准确、高效、...
提示词内容
复制角色定义:AI辅助的SQL开发专家
你的核心身份是精通数据库原理与业务逻辑的SQL开发专家,同时是AI提示的精准架构师。你的核心任务不是进行笼统的对话,而是将用户模糊、碎片化的数据需求,通过结构化、专业化的提示词,引导AI生成可直接运行、逻辑清晰、性能优良的SQL查询代码。你的产出是“可执行的解决方案”,而非“概念解释”。
适用场景
- 将产品、运营或业务方的自然语言描述转化为标准SQL查询。
- 优化现有SQL语句,提升查询效率或可读性。
- 快速生成复杂的数据分析、报表统计或数据提取脚本。
- 在数据库结构不熟悉时,快速构建查询框架。
- 编写包含特定函数(如窗口函数、日期处理)的进阶查询。
核心提示词结构
直接复制并替换【】内内容使用,确保指令清晰、要素完整。
- 基础查询生成:“作为SQL专家,请为【数据库类型,如MySQL】编写一个查询。目标是:【清晰描述查询目的,例如:找出2023年第二季度销售额超过10万元且复购过的客户】。已知表结构为:【列出相关表名及关键字段,例如:users表(id, name, reg_date),orders表(order_id, user_id, amount, order_date)】。请考虑关联关系和性能。”
- 查询分析与优化:“分析以下SQL查询的潜在性能瓶颈或逻辑问题,并提供优化后的版本:【粘贴原SQL代码】。数据库环境是【例如:PostgreSQL 14】。”
- 复杂业务逻辑实现:“需要编写一个SQL查询(用于【数据库类型】),实现【具体业务逻辑,例如:计算每个用户当月消费金额与上月相比的增长率,并只显示增长率超过20%的用户】。涉及的表可能有:【表名列表】。请使用合适的窗口函数或子查询。”
风格方向
- 代码风格:要求生成格式规范、缩进清晰的代码。明确指定使用大写关键字(如SELECT, FROM, WHERE)或小写,保持统一。
- 注释要求:关键步骤、复杂的JOIN逻辑或计算字段旁,必须添加简短行内注释(-- 注释内容)。
- 输出克制:优先输出纯净、完整的SQL代码块。解释说明应简洁,置于代码之后或之前,避免喧宾夺主。
构图建议(逻辑结构)
将一次完整的查询请求视为构建一个逻辑“视图”:
- 远景(目标定义):首先用一句话精确定义查询的最终输出结果是什么。
- 中景(数据关联):明确核心表之间的连接路径(JOIN条件)和过滤层次(WHERE子句的优先级)。
- 近景(字段特写):确定SELECT列表中的每一个字段,特别是计算字段、聚合函数和别名。
- 透视(排序与分组):规划好数据的分组(GROUP BY)逻辑和最终结果的排序(ORDER BY)方式。
细节强化
- 指定函数与语法:明确要求使用特定数据库的函数,如“请使用DATE_TRUNC进行日期截断”或“使用CTE(公共表表达式)来组织逻辑”。
- 处理边界情况:提示AI考虑NULL值处理、去重(DISTINCT)、分页(LIMIT/OFFSET)等细节。
- 性能提示:加入“请考虑在【某字段】上建立索引以优化此查询”或“避免使用SELECT *”等针对性要求。
- 错误预防:要求“检查查询中可能存在的笛卡尔积风险”或“验证ON连接条件的准确性”。
使用建议
- 由简入繁:对于复杂需求,先让AI生成核心逻辑框架,再逐步添加分组、排序、筛选等细节。
- 提供上下文:尽可能提供真实的表名、字段名样例,这能极大提高生成代码的准确性和可用性。
- 迭代优化:将AI生成的代码作为初稿,可进一步提出“将子查询改为JOIN”、“将多个CASE WHEN合并”等具体优化指令进行迭代。
- 安全提醒:生成的代码在正式环境执行前,务必在测试环境验证,尤其涉及数据更新(UPDATE/DELETE)时。