数据库 CRUD 脚本
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1b96e777/curd。
技能介绍
要解决什么问题
在 Agent 或本地自动化流程里,你往往只需要跑一条 SQL、核对表结构,或在同一事务里完成插入与更新,而不想每次都打开 GUI 客户端或手写一套临时的 Python 连接代码。本技能把 MySQL 的常用 CRUD 收敛到单一入口脚本 run_sql.py,让执行路径固定、可重复。
技能如何工作
- 执行方式:通过
sql参数直接传语句,或用--file/-f读 SQL 文件;--transaction/-t可把多条语句放在同一事务里提交或回滚。 - 环境与配置:默认读
~/.config/crud/config.json;可用AGENT_MYSQL_CONFIG或--config覆盖。首次无配置时会走交互向导,也可显式--init。 - 输出与控制:
--max-rows限制返回行数,--json便于下游解析;--env切换已配置的数据库环境。 - 容错:缺少
pymysql时会尝试自动安装;连接失败、语法错误会给出可操作提示(如 1045 密码、1049 库名、2003 服务、1146 表名),语法错误场景下会回滚事务。
适用边界与注意点
技能面向 MySQL 直连场景,不负责 ORM 或跨库迁移。拼接动态 SQL 时仍须自行做转义或参数化,不要在代码里硬编码密码;生产环境查询建议只读账号,写操作优先开事务。表结构查看等能力以脚本实际支持为准,复杂运维(备份、权限模型设计)仍需专业工具配合。
使用场景
- 在联调阶段让 Agent 用 `--env dev` 执行 `SELECT`,核对订单表行数是否与测试用例一致
- 把多条 `INSERT`/`UPDATE` 用 `-t` 包在同一事务里,在预发库一次性提交或整体回滚
- 上线前用 `--file` 跑评审过的 SQL 脚本,并用 `-m` 限制返回行数避免刷屏
- 本地 MySQL 未配好时触发 `--init` 向导,写完 `config.json` 后立刻查表结构确认字段名
适合人员
- 负责微服务数据层、常在对话里要临时查库或改测试数据的后端工程师
- 值班处理线上告警、需要用只读账号快速跑诊断 SQL 的 SRE 或 DBA
- 在本地 MySQL 上迭代功能、希望统一用脚本而非 GUI 客户端的全栈开发者
- 编写自动化 Agent 工作流、要把数据库读写步骤固定到 `run_sql.py` 接口的集成工程师