Text2SQL / Chat2SQL
Text2SQL(也称 Chat2SQL)支持将自然语言需求转换为 SQL 语句,适用于查询编写、条件补全、复杂语句草拟和业务人员自助取数等场景。
功能说明
- 自然语言生成 SQL:通过中文或英文描述查询需求,生成 SQL 草稿。
- SQL 窗口内生成:在 SQL 编辑器中键入/,打开 Chat2SQL 输入框并生成 SQL。
- ChatDBA 对话生成:在 ChatDBA 中选择数据源后,可通过多轮对话描述查询需求并生成 SQL。
- 结合对象结构理解语义:可基于目标库、表、字段、注释和增强 E-R 图理解查询意图。
使用场景
| 场景 | 说明 |
|---|---|
| 业务人员自助查询 | 使用自然语言描述查询目标,降低手写 SQL 门槛。 |
| 开发人员快速草拟 SQL | 先生成查询框架,再补充业务过滤条件和执行细节。 |
| 多表关联查询 | 根据业务口径生成关联、聚合、排序和分组语句初稿。 |
| SQL 学习与验证 | 对照生成结果理解 SQL 写法,辅助学习不同数据库方言。 |
前提条件
- 已将目标数据源添加到 NineData。更多信息,请参见管理数据源。
- 已打开目标数据源的 SQL 窗口;如果在 ChatDBA 中使用 Text2SQL,请先在 ChatDBA 中选择目标数据源。
- 当前账号具备目标数据源的查询或开发权限。
- 如需进一步提升生成准确性,建议先生成目标数据源的增强 E-R 图。更多信息,请参见增强 E-R 图。
使用入口
| 入口 | 适用方式 | 详细文档 |
|---|---|---|
| SQL 窗口 | 在 SQL 编辑器中键入/,输入自然语言需求后生成 SQL。 | Text2SQL |
| ChatDBA | 在 ChatDBA 中选择数据源后,通过对话描述查询需求。 | ChatDBA |
| Skill | 在 AI Agent 客户端中通过 NineData-Skill 调用平台能力。 | Skill |
提升生成准确性
您可以通过以下方式提升生成质量:
- 在自然语言描述中写清楚查询对象、时间范围、统计口径、返回字段和排序规则。
- 为表和字段补充 AI 注释信息,说明字段含义、枚举值、业务口径和外键关系。
- 使用增强 E-R 图补充表关系信息,帮助 AI 理解多表关联语义。
- 先在测试数据源或只读场景下验证生成结果,再用于生产查询。
结果复核
生成 SQL 后,请重点检查以下内容:
| 检查项 | 说明 |
|---|---|
| 数据源和库表 | 确认生成 SQL 引用的是正确数据库、Schema、表和字段。 |
| 过滤条件 | 确认时间范围、状态枚举、租户或组织条件符合预期。 |
| 聚合口径 | 确认 COUNT、SUM、去重、分组和排序逻辑符合业务定义。 |
| 执行影响 | 对 DML 或 DDL 语句,请结合权限、审批和回滚方案复核。 |
使用建议
- Text2SQL 生成的是 SQL 草稿,执行前请结合业务逻辑和数据权限复核。
- 对重要 SQL,可先使用SQL 智能诊断优化评估性能风险。
- 如需在手写 SQL 的过程中获得实时提示,可配合SQL AI 智能补全使用。
- 如需分析 Redis 命令场景,请参见Redis 自然语言转命令。