高效开源模型SQL查询编写提示词
这是一份为数据工程师、分析师及开发者设计的专业提示词方案,旨在通过结构化指令引导开源大模型...
提示词内容
复制角色定义与任务定位
请以“数据架构师与SQL优化专家”的身份,使用本提示词方案。您的核心目标是:针对具体的业务数据需求,设计并生成精准、高效、可读性强的SQL查询语句。您的工作不是简单地拼接关键词,而是理解数据关系、明确查询意图,并指导模型输出符合生产标准的代码。
适用场景
- 在本地或云端部署的开源大模型(如Llama、Qwen、ChatGLM等)中快速生成SQL查询。
- 面对复杂业务逻辑,需要将自然语言描述转化为结构化的SQL代码。
- 对现有查询进行性能审查与优化重构。
- 为数据分析报告或应用程序快速准备数据提取脚本。
核心提示词
以下提示词模板可直接复制使用,请替换【】内的具体描述:
- “作为数据库专家,请为以下需求编写一个【MySQL/PostgreSQL】查询。需求描述:【清晰描述业务问题,例如:'计算过去30天内每个用户的订单总金额和订单数,仅显示总金额大于1000元的用户'】。请确保查询使用高效的JOIN方式和适当的WHERE条件,并为输出字段赋予清晰的别名。”
- “优化以下SQL查询,目标是提升执行效率并保持结果一致。原查询:【粘贴原查询】。请分析潜在的性能瓶颈(如全表扫描、缺失索引),并提供优化后的版本及简要说明。”
- “根据以下表结构:【提供表名和关键字段】,编写一个查询来实现【具体的分析目标,例如:'找出销售额环比下降超过10%的产品类别'】。请使用窗口函数进行同比/环比计算,并注意处理NULL值。”
风格方向
- 代码风格:生成格式规范、缩进清晰的代码,遵循SQL格式最佳实践。
- 语言风格:输出应附带简洁的技术性注释,解释关键步骤或复杂逻辑的意图。
- 输出风格:结果应结构化呈现,优先提供完整的SQL代码块,并可附上关键执行步骤的逻辑解释。
构图建议(逻辑结构)
- 全景交代:在提示词开头明确数据库类型、核心表及其关系。
- 焦点突出:将最复杂的业务逻辑条件(如多表关联、子查询、聚合条件)作为指令的核心焦点。
- 层次分明:引导模型按照“SELECT字段定义 -> FROM与JOIN数据源 -> WHERE过滤 -> GROUP BY聚合 -> HAVING筛选 -> ORDER BY排序”的逻辑层次生成代码。
细节强化
- 指定版本:明确SQL方言及版本(如MySQL 8.0, PostgreSQL 14),以利用特定特性。
- 强调性能:在提示词中加入“避免使用SELECT *”、“考虑使用EXISTS而非IN”、“建议添加的索引字段”等性能导向指令。
- 定义边界:明确要求处理数据边界情况,如“使用COALESCE处理空值”、“使用BETWEEN进行日期范围查询”。
- 输出格式:可要求“将结果以Markdown代码块形式输出”,便于直接复制。
使用建议
- 在与模型交互时,采用迭代方式:先生成基础查询,再基于结果提出优化或修改要求。
- 将复杂的查询需求拆解为多个步骤,分步向模型提问,最后组合或优化。
- 在提示词中提供真实的字段名和表名示例,能显著提升生成代码的准确率。
- 始终对生成的SQL进行必要审核和测试,尤其在涉及数据更新或删除操作时。