MySQL 查询代理
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/mysql-query-agent
技能介绍
为什么需要这个技能
在 Node.js 项目中执行 MySQL 查询,开发者通常要处理三件事:连接池配置、SQL 语句拼装、结果类型转换。这些代码重复且容易出错,尤其是参数化查询和异步处理,很容易写成回调地狱或 Promise 链断裂。本技能的目标是把这些底层细节封装成统一的代理层,让业务代码只需关注 SQL 本身。
核心能力与关键步骤
技能基于 mysql2 驱动构建,核心能力包括:
- 连接管理:内部维护连接池,避免每次查询都创建新连接。
- 参数化查询:支持
?占位符,防止 SQL 注入。 - 结果处理:自动将结果集转换为对象数组,兼容 TypeScript 类型推导。
工作流程分三步:
- 初始化代理时传入数据库配置(主机、用户、密码、库名)。
- 调用
execute(sql, params)执行查询,参数自动绑定。 - 返回 Promise,resolve 结果数组或单个对象。
适用边界与注意点
- 环境要求:Node.js 12+,无需原生编译,Linux/macOS/Windows 通用。
- 性能场景:高并发写入或大事务需自行控制连接池大小,默认值适合中小型应用。
- 类型支持:TypeScript 用户需安装
@types/node,类型定义来自驱动本身,无额外声明文件。 - 不适用场景:复杂 ORM 映射、多表 JOIN 优化、迁移脚本等仍需开发者自行处理。
本技能解决的是「连接与查询」这一层问题,不替代数据库设计或业务逻辑。
使用场景
- 后端服务从 MySQL 查询用户列表,需要用参数化查询防止 SQL 注入攻击
- Node.js 项目里批量执行多条 SQL,希望复用连接池而不是每次创建新连接
- TypeScript 项目调用数据库后想要结果自动带类型推断,减少手写接口定义
- 在 Linux 服务器部署 Node.js 服务,需要免原生编译的 MySQL 驱动方案
适合人员
- Node.js 后端工程师,需要在服务中快速实现数据库查询并防止 SQL 注入
- TypeScript 全栈开发者,希望数据库查询结果自带类型推断以减少手工接口定义
- 运维工程师,负责在 Linux 服务器部署 Node.js 服务,需要免原生编译的数据库驱动