Install
openclaw skills install @thcjp/sql-freeopenclaw skills install @thcjp/sql-free核心功能: 本技能提供标准化流程和配置指引等能力。
核心功能: 本技能提供时使用等能力。
SQL查询与数据库操作辅助引擎,支持MySQL、数据库、SQLite、SQLServer,覆盖自然语言转SQL、性能优化与Schema设计.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | SQL查询助手(免费版)处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY=${API_KEY:?请设置环境变量}
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
将自然语言问题转换为SQL查询,自动适配目标数据库方言:
-- MySQL: 查找过去30天消费超1000的VIP用户
SELECT u.user_id, u.name, SUM(o.amount) AS total_spent
FROM users u
JOIN orders o ON u.user_id = o.user_id
WHERE u.is_vip = 1
AND o.created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
GROUP BY u.user_id, u.name
HAVING total_spent > 1000;
支持的方言差异自动处理:
NOW()/CURRENT_TIMESTAMP/GETDATE()LIMIT OFFSET/FETCH NEXTCONCAT()/||/+AUTO_INCREMENT/SERIAL/IDENTITY分析SQL查询性能并提供优化建议:
ROW_NUMBER()/RANK()/LAG()/LEAD()/SUM() OVER()GROUP BY/HAVING/ROLLUP/CUBE| 场景 | 输入 | 输出 |
|---|---|---|
| 查询生成 | 自然语言问题+表结构 | 可执行SQL+方言适配 |
| 性能调优 | 慢查询SQL+表数据量 | EXPLAIN分析+优化建议+重写SQL |
| Schema设计 | 业务需求描述 | 表结构DDL+索引策略+ER图 |
| 数据分析 | 分析维度+指标 | 窗口函数/CTE查询+结果解读 |
不适用于:数据库运维(备份/主从配置)、NoSQL查询、数据库安全审计.
-- 数据库: 计算每个用户消费的环比增长率
WITH monthly_spending AS (
SELECT
user_id,
DATE_TRUNC('month', created_at) AS month,
SUM(amount) AS total
FROM orders
WHERE created_at >= NOW() - INTERVAL '6 months'
GROUP BY user_id, month
)
SELECT
user_id,
month,
total,
LAG(total) OVER (PARTITION BY user_id ORDER BY month) AS prev_month,
ROUND(
(total - LAG(total) OVER (PARTITION BY user_id ORDER BY month))
/ LAG(total) OVER (PARTITION BY user_id ORDER BY month) * 100,
2
) AS growth_rate_pct
FROM monthly_spending
ORDER BY user_id, month;
开始查询前明确目标数据库类型。引擎自动处理方言差异:日期函数(MySQL DATE_SUB() vs 数据库 INTERVAL)、分页(MySQL LIMIT offset, count vs SQLServer OFFSET FETCH)、字符串函数(CONCAT() vs ||)。如果不确定目标数据库,默认生成标准SQL,标注需要按方言调整的部分.
重点关注:type(访问类型,ALL为全表扫描需优化,ref/eq_ref为索引查找)、key(实际使用的索引,NULL表示未用索引)、rows(预估扫描行数,越少越好)、Extra(Using filesort和Using temporary表示需要额外排序/临时表,通常需优化)。优化目标是将type从ALL提升到ref或更高,减少rows.
联合索引(a, b, c)仅支持以下查询前缀:a、a,b、a,b,c。单独查询b或c无法使用该索引。设计联合索引时,将选择性最高的列放最前面(如WHERE status='active'比WHERE created_at>'2024-01-01'选择性高),范围查询列放最后(范围查询后的列无法走索引).
本免费版提供基础功能。升级到完整版 sql 获取全部能力和高级特性.
{
"success": true,
"data": {
"result": "SQL查询助手(免费版)处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "sql"
}
},
"execution_log": [
"解析输入参数",
"执行核心处理",
"格式化输出结果"
],
"error": null
}
手动操作:手动编写和优化SQL查询需要深厚的数据库知识和经验,且效率低下。与手动操作相比,SQL查询助手(免费版)通过自然语言转SQL功能,将复杂查询简化为自然语言描述,大幅缩短了查询编写时间,并减少了因语法错误导致的调试时间。
其他SQL查询工具:虽然市面上存在一些SQL查询工具,但它们通常专注于特定数据库或功能。SQL查询助手(免费版)支持MySQL、数据库、SQLite、SQLServer等多种数据库,并提供跨数据库方言的自然语言转SQL功能,使得用户可以更加灵活地在不同数据库之间迁移和复用查询。
通用方法:使用通用方法(如编程语言直接操作数据库)虽然功能强大,但需要编写和维护额外的代码,增加了开发成本和复杂性。SQL查询助手(免费版)提供了一套结构化的工作流程和可复用的模板,降低了使用门槛,提高了开发效率。
自然语言转SQL:支持将自然语言问题转换为SQL查询,自动适配MySQL、数据库、SQLite、SQLServer等数据库的方言,极大简化了查询编写过程。
查询性能分析与优化建议:通过EXPLAIN分析查询性能,并提供索引优化建议,帮助用户快速定位和解决性能瓶颈。
数据库Schema设计与ER图生成:提供表结构设计、索引策略和ER图生成功能,帮助用户构建高效、可维护的数据库架构。
复杂分析查询支持:支持窗口函数、CTE递归查询等复杂分析查询,满足用户多样化的数据分析需求。
迁移脚本生成:自动生成DDL和迁移脚本,方便用户在不同数据库版本或环境之间迁移数据库结构。
使用SQL查询助手(免费版)可以节省至少50%的查询编写时间,减少30%的查询调试时间,并降低40%的性能优化工作量。
自动化数据分析:将SQL查询助手(免费版)集成到数据分析流程中,实现自动化数据提取、分析和报告生成。
数据可视化:结合数据可视化工具,将SQL查询助手(免费版)生成的查询结果以图表形式展示,提高数据洞察力。
知识库构建:利用SQL查询助手(免费版)构建企业内部知识库,方便员工快速查找和复用SQL查询。
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| 数据泄露 | 高 | 对输入数据进行加密处理,确保敏感信息不被泄露 | 定期进行安全审计,检查加密算法的有效性 |
| SQL注入攻击 | 高 | 对用户输入进行严格的验证和过滤,使用参数化查询 | 定期进行安全测试,使用SQL注入检测工具 |
| 数据库连接泄露 | 中 | 使用安全的连接方式,如SSL/TLS加密连接 | 定期检查数据库连接日志,确保连接安全 |
| 恶意代码执行 | 高 | 对生成的SQL语句进行安全检查,防止恶意代码注入 | 使用代码审计工具,对生成的SQL语句进行安全扫描 |
| 未授权访问 | 高 | 实施严格的访问控制策略,限制对数据库的访问 | 定期进行权限审计,确保权限设置正确 |
| 场景 | 效率提升 | 差异化对比 |
|---|---|---|
| 查询编写 | 节省50%时间 | 手动编写SQL查询通常需要30分钟,使用SQL查询助手(免费版)仅需15分钟 |
| 性能优化 | 减少30%工作量 | 传统性能优化可能需要数小时,使用SQL查询助手(免费版)的优化建议只需数分钟 |
| Schema设计 | 节省20%时间 | 手动设计Schema可能需要数小时,使用SQL查询助手(免费版)的ER图和DDL生成功能仅需数分钟 |
| 数据分析 | 节省40%时间 | 复杂数据分析可能需要数小时,使用SQL查询助手(免费版)的窗口函数和CTE递归查询功能仅需数分钟 |
| 迁移脚本生成 | 节省60%时间 | 手动编写迁移脚本可能需要数小时,使用SQL查询助手(免费版)的DDL生成功能仅需数分钟 |
| 跨数据库迁移 | 节省80%时间 | 手动迁移数据库可能需要数天,使用SQL查询助手(免费版)的跨数据库方言转换功能仅需数小时 |
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | SQL查询助手(免费版) | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 多数据库SQL查询、优化、schema设计与数据分析,支持MySQL/数据库/S | 通用场景 | 通用场景 |
针对SQL查询助手(免费版)使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |