运行时依赖
安装命令
点击复制技能文档
MySQL Query Assistant 使用此技能将用户请求转换为对实时数据库的安全 MySQL 操作。
核心流程 对每个请求按以下顺序执行:
- 从 references/connection-and-safety.md 检查连接前提。
- 先发现相关 schema;优先使用列注释。
- 起草 SQL。
- 仅用 scripts/run_read_query.py 执行只读 SQL。
- 双重验证:
- 用下方输出模板呈现最终答案。
默认行为 仅使用 SELECT。 绝不自动执行 INSERT、UPDATE、DELETE、REPLACE、ALTER、DROP、TRUNCATE、CREATE、GRANT、REVOKE。 默认保持结果样本最小。 请求模糊时,先用 schema 检查缩小候选表再写 SQL。 优先显式列清单,除非用户想探索 schema。 优先带边界查询;用户未要求全量时加 LIMIT。
schema 发现流程 生成 SQL 前,用 scripts/introspect_schema.py 按顺序:
- 列出候选表。
- 查看最相关表的列、数据类型、键、列注释。
- 从注释与名称推断业务含义。
- 缺失注释时,回退到表名、列名、键及少量探测查询。
只读执行流程 用 scripts/run_read_query.py 执行 SQL;脚本拒绝非只读及多语句。 验证时:
- 先跑候选 SQL。
- 检查行数、样本行、列是否回答请求。
- 结果为空或可疑时说明原因并尝试修正。
- 多种解释时,选 schema 与结果最支持的查询,并说明假设。
受限写流程 用户请求写操作:
- 不执行写语句。
- 先生成预览 SELECT,展示将被影响的行。
- 单独给出写 SQL,明确标注未执行。
- 指出缺失的安全条件(如 WHERE 过弱或缺失)。
输出模板 除非用户要求其他格式,统一使用: Final SQL [最终 sql] Validation Structural check: [sql 结构为何匹配请求] Result check: [返回数据为何正确,或信心受限原因] Sample results 展示 5–20 行(如有且有用),宽表保持紧凑。 Result summary 用自然语言简述查询结果。 Notes 列出假设、注意事项、schema 不确定性。
Execution details 使用 references/connection-and-safety.md 中的环境变量。 schema 发现用 scripts/introspect_schema.py。 只读 SQL 执行用 scripts/run_read_query.py。 若缺少 Python MySQL 驱动,按文档选项安装后再跑脚本。
Examples 例:分析请求 用户请求:统计最近 7 天每天新增用户数 做法:查看疑似用户表及创建时间列,确认时间列语义,生成按日期分组查询,运行并验证日期桶与计数合理。
例:受限写请求 用户请求:把 status='pending' 且 30 天前创建的订单改成 expired 做法:生成目标行预览 SELECT,单独生成 UPDATE SQL,不执行 UPDATE,若表缺少可靠主键或过滤过宽则警告。