SQL生成器(免费版)

面向独立开发者与AI Agent的SQL生成器免费版。通过自然语言描述快速生成SQL查询语句,同时提供SQL解释、建表DDL、测试数据生成、SQL速查表等核心能力,帮助不熟悉SQL语法的用户也能高效完成数据库操作任务。Use when 需要数据库操作、SQL查询、数据存储管理时使用。不适用于数据库架构设计决策.

天轰穿

@thcjp

What This Skill Does

Natural language to SQL generator that produces SELECT queries, CREATE TABLE DDL, and test data. Also explains complex SQL in plain steps and validates syntax.

Replaces manually writing SQL statements by letting users describe database operations in plain language.

When to Use It

  • Generate a SELECT query for recent user registrations without orders
  • Create a CREATE TABLE statement for an orders table with constraints
  • Generate 100 rows of test data matching a table's schema
  • Translate a complex multi-join SQL query into step-by-step Chinese explanation
  • Automatically produce and validate SQL for an AI agent workflow

Install

$ openclaw skills install @thcjp/sql-gen-tool-free

SQL生成器(免费版)

本工具为独立开发者、产品经理与AI Agent提供自然语言到SQL的转换能力。免费版聚焦核心场景:查询生成、SQL解释、建表DDL、测试数据生成,足以覆盖绝大多数日常SQL编写需求.

概述

并非所有需要操作数据库的用户都精通SQL语法。产品经理想快速查看某个业务指标、运营人员想导出特定条件的用户列表、测试同学想造一批符合约束的测试数据——这些场景下,用自然语言描述需求并自动生成SQL,能显著降低数据库使用门槛. 本工具基于LLM的语义理解能力,结合内置的SQL语法规则库与Schema感知机制,将自然语言需求转换为可执行的SQL语句,同时保证生成的SQL符合参数化安全规范.

核心能力

能力分类说明
自然语言转SQL支持查询、插入、更新、删除四类语句生成
SQL解释将复杂SQL翻译为中文步骤说明
建表DDL生成根据业务描述生成含约束的CREATE TABLE
测试数据生成按表结构生成符合类型与约束的模拟数据
SQL速查表内置SELECT/JOIN/聚合/窗口函数速查
语法校验生成后自动校验语法正确性
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置.

核心功能执行

input_params参数进行配置.

处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

config_options参数进行配置.

处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

output_format参数进行配置.

处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:的生成器免费版、支持查询生成、建表语句、测试数据生成等核、心场景、面向独立开发者与、Agent、生成器免费版、通过自然语言描述、快速生成、查询语句、同时提供、速查表等核心能力、帮助不熟悉、语法的用户也能高、效完成数据库操作、Use、when、需要数据库操作、数据存储管理时使、不适用于数据库架、构设计决策等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.

使用场景

场景一:业务查询生成(产品经理视角)

用自然语言描述"查询最近7天注册且未下单的用户",自动生成对应的SELECT语句.

场景二:建表语句生成(开发者视角)

描述业务实体"一个订单表,包含用户、金额、状态、创建时间",自动生成含主键、外键、约束的CREATE TABLE.

场景三:测试数据造数(测试视角)

为已有表结构批量生成符合字段类型、唯一约束、外键引用的测试数据,无需手写INSERT.

场景四:SQL理解辅助(新人视角)

接手他人代码时,将复杂的多层嵌套SQL翻译为分步中文说明,快速理解查询逻辑.

场景五:AI Agent数据访问(Agent视角)

在工作流中由Agent根据用户意图自动生成SQL,经校验后执行,实现数据访问的自动化.

快速开始

第一步:生成查询SQL

输入:查询最近7天注册但从未下单的用户,按注册时间倒序
# ...
输出:
SELECT u.id, u.name, u.email, u.created_at
FROM users u
WHERE u.created_at >= CURRENT_DATE - INTERVAL '7 days'
  AND NOT EXISTS (
    SELECT 1 FROM orders o WHERE o.user_id = u.id
  )
ORDER BY u.created_at DESC;

第二步:生成建表DDL

输入:创建订单表,包含用户ID、订单金额(不能为负)、状态(待支付/已支付/已发货/已取消)、创建时间
# ...
输出:
CREATE TABLE orders (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    user_id BIGINT NOT NULL,
    total DECIMAL(10,2) NOT NULL CHECK(total >= 0),
    status VARCHAR(20) NOT NULL DEFAULT 'pending'
        CHECK(status IN ('pending','paid','shipped','cancelled')),
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

第三步:生成测试数据

输入:为users表生成100条测试数据
# ...
输出:
INSERT INTO users (name, email, created_at) VALUES
('张三', 'zhangsan@example.com', '2026-07-01 10:30:00'),
('李四', 'lisi@example.com', '2026-07-02 14:20:00'),
-- ... 共100条

完整上手时间约60秒.

示例

自然语言到SQL的映射规则

自然语言SQL片段
最近N天WHERE date >= CURRENT_DATE - INTERVAL 'N days'
从未/没有NOT EXISTS (subquery)
按XX分组统计GROUP BY xx + COUNT/SUM/AVG
前N名ORDER BY xx DESC LIMIT N
去重计数COUNT(DISTINCT column)
同比/环比窗口函数 LAG() OVER(...)

SQL速查表核心项

-- 基础查询
SELECT col1, col2 FROM table WHERE condition;
# ...
-- 聚合
SELECT status, COUNT(*) FROM orders GROUP BY status HAVING COUNT(*) > 10;
# ...
-- JOIN
SELECT u.name, o.total FROM users u INNER JOIN orders o ON o.user_id = u.id;
# ...
-- 窗口函数
SELECT date, revenue, SUM(revenue) OVER (ORDER BY date) AS cumulative FROM daily_sales;

最佳实践

1. 描述需求时包含字段语义

生成质量取决于描述清晰度。"查询高价值用户"不如"查询最近30天消费总额超过1000元的用户"精确.

2. 生成后必做语法校验

LLM生成的SQL可能存在方言差异或边界遗漏,执行前务必用EXPLAIN或dry-run校验语法.

3. 测试数据需脱敏

生成的测试数据若包含姓名、邮箱等字段,应使用明显虚假值(如example.com域名),避免与真实数据混淆.

4. 复杂查询分步生成

对多层嵌套的复杂查询,建议先用自然语言拆分为子步骤,分别生成CTE,再组合为最终SQL.

5. 结合Schema上下文

提供表结构信息能显著提升生成准确率。建议生成前先执行SHOW CREATE TABLE获取Schema.

常见问题

Q1:生成的SQL报"表不存在"错误?

A:生成时未提供Schema上下文。建议先描述表结构或执行SHOW CREATE TABLE,让生成器感知真实字段名与类型.

Q2:自然语言转SQL的准确率如何?

A:对结构化描述(含明确字段、条件、排序)准确率可达90%+;对模糊描述(如"有趣的数据")准确率下降,需补充字段语义.

已知限制

A:生成器会自动为UNIQUE字段添加序号后缀(如user_001user_002)。若仍冲突,检查表结构是否有过严的约束.

Q4:SQL解释支持多深嵌套?

A:支持3层以内的子查询嵌套解释。更深层嵌套建议先拆分为CTE再分别解释,可读性更好.

Q5:生成SQL用什么方言?

A:默认生成标准SQL。若指定数据库类型(如 PostgreSQL、MySQL),会自动适配方言差异(如LIMIT vs TOP、UPSERT语法).

  • 当前为免费版本,如需完整功能请升级到付费版获取全部能力

免费版限制

本免费体验版限制以下高级功能:

  • 自然语言转SQL单次最多生成1条语句
  • 不支持复杂多表JOIN的自动生成
  • 不支持SQL性能优化建议
  • 不支持数据库迁移脚本自动生成
  • 不支持Schema智能感知自动补全

解锁全部功能请使用专业版:sql-gen-tool-pro

依赖说明

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux
  • Python: 3.8+(用于执行生成的SQL)

依赖详情

依赖项类型是否必需获取方式
LLM APIAPI必需由Agent内置LLM提供
sqlite3CLI工具可选系统自带或官网下载
psqlCLI工具可选PostgreSQL 安装包
Python运行时可选python.org 官方下载

API Key 配置

  • 本免费版依赖Agent平台内置LLM,无需额外API Key
  • 数据库连接凭证通过环境变量注入,禁止硬编码

可用性分类

  • 分类: MD+EXEC(纯Markdown指令,部分功能需要exec命令行执行能力)
  • 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent完成操作

错误处理

错误场景原因处理方式
配置错误参数缺失或格式错误检查依赖说明中的配置要求
运行时错误运行环境不满足确认运行环境符合依赖说明
网络错误连接超时或不可达执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

Top skills in this category