← AI 术语表

AI 术语表 · 基础 · 数据工程 · 语言模型

Text-to-SQL

Text-to-SQL 是把人用日常语言提出的问题,转换成数据库能理解的查询语言 SQL 的技术。即使不会 SQL,也能直接向数据提问。

关于这个术语
难度
基础 · AI 新闻中常见的技术术语
加入时间
2026-10-09
通俗解释 这就像在外国图书馆用母语问馆员“去年借阅次数最多的书”,由翻译把它转换成该图书馆借阅系统能理解的检索词输进去。不过,正如翻译若搞错了图书馆的分类体系就会找来不相干的书,如果误解了数据结构,也会得出错误的答案。

工作原理

当用户提出“显示上个月各地区的销售额”之类的问题时,系统会先收集 schema,即说明数据库中有哪些表和列的信息。把这些 schema 和问题一起输入 LLM,模型就会生成合适的 SQL 语句。生成的 SQL 在数据库中执行,结果以表格、图表或摘要文字的形式返回给用户。如果执行中出错,也常把错误信息再交给模型,让它修改 SQL。

问题变成 SQL,再以答案的形式返回自然语言问题 → LLM; 模式(schema)信息 → LLM; LLM → SQL 语句; SQL 语句 → 数据库(执行); 数据库 → 结果; 数据库 → LLM(出错时)自然语言问题上个月各地区销售额模式(schema)信息表·列说明LLM编写 SQLSQL 语句数据库只读执行结果表格·图表·摘要执行出错时
问题变成 SQL,再以答案的形式返回 从左到右,问题被转换为 SQL 并执行。如果执行出错,就沿虚线返回模型修正 SQL。

为什么重要

公司数据大多存放在数据库或数据仓库中,但会写 SQL 的人并不多。因此,业务人员哪怕只想看一个数字,也得向分析师提出需求并等待。Text-to-SQL 缩短了这段等待时间,让更多人能直接查看数据。随着 LLM 的进步,它正快速进入公司内部的数据分析工具和 BI 服务。

注意事项

SQL 即使语法正确,含义也可能有误,因此结果看起来合理,数字也可能是错的。尤其是“销售额”“活跃用户”这类各公司定义不同的词,模型很容易凭猜测处理,所以常会配合使用预先整理好这些定义的语义层。为避免误执行删除或修改数据的 SQL,基本做法是只以只读权限连接。如果是用于重要决策的数字,设置由人检查生成的 SQL 的环节会更稳妥。

引入前检查

安全

  • 是否仅以只读权限连接
  • 是否阻止了修改数据的 SQL

准确性

  • 是否整理好了业务术语的定义
  • 是否向用户展示生成的 SQL
  • 重要数字是否由人工审核
将 Text-to-SQL 接入业务之前需要确认的事项。

示例

销售人员在接入公司内部通讯工具的数据聊天机器人中输入“把本季度新客户数和上季度比较一下”,聊天机器人会在内部生成 SQL,在数据仓库中执行,然后以两个数字和一张简单的柱状图作答。许多 BI 工具和云数据平台都提供这种“用自然语言提问”的功能,通常还会一并显示生成的 SQL,方便用户检查。

相关术语