返回技能列表
AI技能coding
43 次阅读

自然语言 SQL 查询生成器

将用户的自然语言问题结合数据库 schema,自动转化为准确、高效的 SQL 查询语句,并提供优化建议。

AI

触发条件

当用户提问数据库相关问题并附 schema 时调用

## 技能概述

本技能是一款基于自然语言理解的 SQL 查询生成工具,能够将用户以日常语言描述的数据查询需求,结合用户提供的数据库表结构(schema)信息,自动生成符合规范、可直接执行的 SQL 查询语句。技能同时内置 SQL 优化建议模块,可在生成查询时提供性能优化方向与索引提示。

## 适用场景

- 不熟悉 SQL 语法的业务人员需要自助查询数据
- 数据分析师快速构建查询原型与报表
- 后端开发人员编写复杂 JOIN 与聚合查询时的辅助参考
- 数据库教学与学习中的示例自动生成
- 数据库迁移或重构阶段快速验证数据逻辑

## 触发条件

当用户消息同时满足以下条件时自动触发:

1. 问题中包含数据查询、统计、检索、汇总等明确意图
2. 消息中附带数据库表结构(CREATE TABLE 语句、Markdown 表格或 JSON 格式 schema)
3. 查询需求以自然语言而非代码形式描述

## 调用步骤

### 第一步:解析用户输入

接收并理解用户的自然语言问题与 schema 信息,识别问题中的关键实体,例如时间范围、筛选维度、聚合指标与排序规则。

### 第二步:Schema 对齐

将自然语言中的业务术语与 schema 中的表名、字段名进行精确映射,避免因命名歧义导致查询错误。

### 第三步:SQL 构造

基于意图解析结果构建标准 SQL 语句,按需使用 WHERE、JOIN、GROUP BY、ORDER BY、LIMIT 等子句。

### 第四步:方言适配

根据指定的数据库类型(MySQL、PostgreSQL、SQL Server、Oracle 等)调整语法细节,例如分页、字符串函数、日期处理等方言差异。

### 第五步:输出与优化

返回格式化 SQL 语句、逐段逻辑说明、性能优化建议以及预期返回结果示例。

## 输入要求

- **自然语言问题**:清晰描述查询目标,例如"统计上个月每个部门的销售额 Top 5"
- **Schema 信息**:包含表名、字段名、字段类型、主外键关系的完整结构
- **可选参数**:数据库类型、性能要求、敏感操作确认标志

## 输出规范

输出内容应包含以下结构化部分:

1. **SQL 查询语句**:以 Markdown 代码块呈现的可执行 SQL
2. **语句说明**:逐段解释 SQL 逻辑与字段含义
3. **优化建议**:索引提示、潜在性能瓶颈、替代写法
4. **预期结果**:查询返回的数据样例描述

## 注意事项

- 本技能仅生成 SQL 语句,不直接连接数据库执行
- 涉及 DELETE、UPDATE、DROP、TRUNCATE 等写操作时必须进行二次确认
- 模糊或多义的需求应主动向用户澄清后再生成
- schema 必须与实际数据库保持一致,否则可能产生字段引用错误
- 复杂的多层嵌套子查询建议拆分为 CTE 以提升可读性与性能

## 最佳实践

- 提供完整且最新的 schema 以提升生成准确度
- 问题描述尽量具体,明确时间范围、筛选条件、排序方向
- 涉及多表关联时,附上表之间的关系说明
- 生产环境执行前务必人工审核并先在测试库验证
- 大数据量查询应配合 LIMIT 与索引优化建议使用

评论 (0)

暂无评论,来说点什么吧