ToolNavs 发现实用AI工具
提交工具 登录
返回Ai提示词
SQL查询提示词:贴上表结构说清需求,AI写出能跑的查询并逐句讲清

SQL查询提示词:贴上表结构说清需求,AI写出能跑的查询并逐句讲清

Ai提示词 • Admin • • 12 次浏览

SQL查询提示词真正省事的地方,是让不太会写查询的人也能自己从数据库里取数;可直接问一句“帮我查上个月每个门店的销售额”,AI 只能猜表名和字段名,猜错了轻则报错,重则跑出一串看着合理、口径却全错的数字。下面这段提示词先把表结构和数据库类型交代清楚,再把“只写查询、不许编字段、先给核对办法”写进规则,复制过去填好变量就能用。

动手前,先备齐这三样材料

  1. 表结构:建表语句,或者字段清单(字段名、类型、再加一句中文说明)都可以;有两张以上表要关联时,把用哪个字段关联标出来。实在拿不到表结构,先让 AI 反问它缺什么,不要让它硬写。
  2. 数据库类型:MySQL、PostgreSQL、SQL Server、SQLite 里选一个写明。日期函数和分页写法各家不同,不写清楚,AI 默认的方言换个库就报错。
  3. 结果长什么样:给一行示例结果,或者说清要哪几列、按什么排序、要不要汇总。同样一句“查销售额”,可以是总额、按天分、按门店分,三条查询完全不同。

如果你的数据还躺在表格文件里、没有进数据库,就不必绕到 SQL,先用让 AI 分析 Excel 数据的提示词直接分析表格更省事;等数据进了库、需要反复取数时,再换回这一篇。

直接复制这段提示词

# 角色
你是一名熟悉 {{数据库类型}} 的数据分析师,只根据我给的表结构写查询;表里没有的字段不要猜,缺信息先问我。

# 输入
数据库类型:{{数据库类型}}
表结构:{{表结构}}
我想查的问题:{{想查的问题}}
口径说明:{{口径说明}}

# 规则
1. 只写 SELECT 查询,不写任何增加、删除、修改数据的语句;
2. 只能用表结构里出现过的表名和字段名;问题里没说清的过滤条件,先列出来问我,不要自行假定;
3. 时间范围按口径说明处理,并注明用的是哪个时间字段、起止边界含不含当天;
4. 涉及金额和数量时写清汇总方式(求和、计数还是去重计数);空值怎么处理按口径说明,没说明就先问我;
5. 先给一条核对用的计数查询,让我确认行数对不对,再给正式查询;
6. 正式查询之后,逐段解释每个部分在做什么,并指出结果里哪几列要重点核对。

# 输出格式
先给需要我确认的问题(没有就写“无”);
再给核对计数查询;
然后给正式查询,放在代码块里;
最后逐段解释,并给出一个手工抽查一行结果的方法。

换成一张订单表,具体这样填

  • {{数据库类型}} 填:MySQL 8.0
  • {{表结构}} 填:orders 表,字段有 order_id(订单号)、store_name(门店)、amount(金额)、pay_time(付款时间)、status(状态,paid 是已付款,refunded 是已退款)
  • {{想查的问题}} 填:上个月每个门店已付款订单的总金额和订单数,按总金额从高到低排
  • {{口径说明}} 填:只算 status 为 paid 的订单;时间按 pay_time 取,上个月指上一个自然月;金额为空的订单不计入总额,但要在解释里告诉我这类订单有多少条

填完之后,AI 先回的那条计数查询是关键一步:先在库里跑它,把数字和你从业务后台导出的订单数对一下,对得上再跑正式查询。对不上就别往下走,多半是口径或者时间字段理解错了,改口径说明比改查询本身快。

结果出来了,先这样验三步再用

  1. 对总数:正式结果里各门店的订单数加总,应该等于核对计数查询的数字。对不上,最常见的原因是关联查询把行数放大了,一条订单被重复算了几次。
  2. 抽一行手算:挑一个门店,用筛选或另一条最简单的查询单独算一遍它的小计,两边一致,才说明汇总口径没有跑偏。
  3. 看边界:专门看结果里最早和最晚的时间,确认没有多算一天或少算一天;再留意金额为空、状态异常的行有没有被悄悄算进去。

跑不通或数字不对,这样追问更快

  • 报错时这样问:“这是报错原文:{{报错信息}}。只改出错的那一处,其余保持不变,并告诉我改了什么。”
  • 数字明显偏大时这样问:“结果比预估大了约 {{倍数}} 倍,检查是不是关联导致行数膨胀,逐条列出可能重复计数的位置。”
  • 跑得太慢时这样问:“这条查询在 {{数据量}} 量级上跑了 {{耗时}},在不改变结果的前提下改写,并说明应该给哪个字段加索引。”

这三句追问都带着现场信息(报错原文、偏大的倍数、数据量),AI 才能定点修;只说一句“不对,再改改”,它只能把整条查询推倒重猜,越改越乱。

相关文章

推荐工具

更多