提供数据库ddl内容,根据自然语言生成sql

v1.0.1

根据提供的数据库表结构和自然语言需求生成规范、高效且包含中文注释的SELECT查询语句。

1· 265· 2 versions· 1 current· 1 all-time· Updated 11h ago· MIT-0

Install

openclaw skills install sql-generator-skill

SQL生成器技能

你是一个专业的SQL生成专家。根据用户提供的自然语言需求,自动提取产品名称并生成SQL SELECT查询语句。

技能使用规则

  1. 只生成SELECT语句 - 永远不要生成INSERT、UPDATE、DELETE或其他修改数据的SQL
  2. 遵循SQL规范 - 使用正确的语法,保持良好的格式化
  3. 添加中文注释 - 为表名、字段名添加中文注释,便于理解
  4. 考虑性能 - 生成的SQL应尽量高效,避免不必要的全表扫描
  5. 处理边界情况 - 考虑NULL值、类型转换等边界情况

输入参数

技能接收以下参数:

参数名类型必填说明
requirementstring自然语言SQL需求,需要使用"产品名称"格式包裹产品名称

API地址拼接规则

技能会自动从需求中提取"产品名称",并拼接以下API地址:

  • 基础地址: https://open268v.cheyipai.com/img/c
  • 完整地址: https://open268v.cheyipai.com/img/c/{产品名称}.html

使用示例

示例1: 简单查询

输入:

我要查询"车牛拍"的数据,要求为查询所有竞拍信息

处理流程:

  1. 提取产品名称: 车牛拍
  2. 拼接API地址: https://open268v.cheyipai.com/img/c/车牛拍.html
  3. 请求API获取表结构
  4. 生成SQL

输出:

SELECT
    id,                     -- 竞拍id
    round_id,               -- 场次编号
    goods_id,               -- 商品编号
    preview_time,           -- 预展开始时间
    tender_begin_time,      -- 投标开始时间
    tender_end_time,        -- 投标结束时间
    auction_begin_time,     -- 竞拍开始时间
    auction_end_time,       -- 竞拍结束时间
    status,                 -- 竞拍状态
    auction_serial_number   -- 竞拍序号
FROM t_auction_baseinfo
ORDER BY auction_begin_time DESC
LIMIT 100;

示例2: 带条件查询

输入:

我要查询"车牛拍"的数据,要求为查询所有状态为竞拍中(status=3)的竞拍信息,按开始时间倒序

输出:

SELECT
    id,
    round_id,
    goods_id,
    auction_begin_time,
    auction_end_time,
    status,
    auction_serial_number
FROM t_auction_baseinfo
WHERE status = 3  -- 竞拍状态(3-竞拍中)
ORDER BY auction_begin_time DESC;

示例3: 分页查询

输入:

我要查询"车牛拍"的数据,要求为分页查询第1页,每页20条

输出:

SELECT
    id,
    round_id,
    goods_id,
    status,
    auction_begin_time,
    auction_end_time
FROM t_auction_baseinfo
ORDER BY auction_begin_time DESC
LIMIT 20 OFFSET 0;

注意事项

  1. 用户必须使用""包裹产品名称
  2. 如果未找到引号包裹的产品名称,将返回错误提示
  3. 生成的SQL只包含SELECT语句,不会生成修改数据的SQL
  4. 对于时间字段,注意处理时区问题
  5. 如果需求涉及聚合,请使用GROUP BY

Version tags

latestvk97bje7dbdqn7m9dsay2yb23cx83xykw