数据库操作配置

SQLite、MySQL、PostgreSQL —— AI也能写SQL

数据库SQL进阶能力

这个 Skill 干嘛用的?

让 AI 直接连数据库查数据 —— 你用自然语言问,它帮你写 SQL 然后执行。

「上个月销售额最高的前 10 个产品是什么」—— 不用自己拼 SQL,不用打开数据库客户端,AI 帮你查完直接给结果。

支持 SQLite、MySQL、PostgreSQL,从本地小数据库到远程生产库都能接。

查数据有多烦

老板突然问你一个数据,你得打开 DBeaver、连数据库、回忆表结构、写 SQL、跑完发现条件写错了、改了再跑 —— 一个简单的查询折腾十分钟。如果你不会 SQL?那就得去找开发同事帮忙,还得排队等。

模板一:SQLite 本地数据库

最轻量的数据库方案,一个文件就是一个数据库。本地实验、小项目、个人数据管理都够用。

SQLite 本地数据库 · Skill 模板 SKILL
## SKILL: SQLite 数据库操作

### 功能描述
连接本地 SQLite 数据库文件,执行查询和数据操作。

### 支持的操作
- 查询:SELECT 语句,支持多表 JOIN、聚合、排序
- 写入:INSERT / UPDATE(需要写权限)
- 结构:查看表结构、列信息、索引
- 导出:查询结果导出为 CSV / JSON

### 使用方式
1. 用户用自然语言描述查询需求
2. AI 先查看表结构,生成 SQL
3. 展示 SQL 给用户确认
4. 执行查询,格式化结果

### 配置项
- db_path: SQLite 文件路径
- read_only: true(默认只读,安全第一)
- max_rows: 1000(单次查询最大返回行数)

模板二:MySQL 远程连接

连接远程 MySQL 数据库。公司内部系统、线上业务数据库基本都是 MySQL,这个模板用得最多。

MySQL 远程连接 · Skill 模板 SKILL
## SKILL: MySQL 数据库操作

### 功能描述
通过安全连接访问远程 MySQL 数据库,执行查询操作。

### 连接配置
- Host / Port / Database 通过环境变量配置
- 支持 SSH Tunnel 连接(跳板机场景)
- 连接池管理,自动断线重连

### 安全设置
- 默认只读:只允许 SELECT 和 SHOW 语句
- 查询超时:单条 SQL 最长执行 30 秒
- 结果限制:自动添加 LIMIT,防止全表扫描
- 慢查询告警:执行超过 5 秒的查询会标记警告

### 使用流程
1. AI 先执行 SHOW TABLES 了解数据库结构
2. 查看相关表的字段和索引
3. 生成优化过的 SQL(带索引命中分析)
4. 展示 SQL 供确认,执行后格式化结果

模板三:数据查询与报表

不只是查数据 —— 查完还能自动生成分析报告。周报、月报、临时数据需求,说一句话就出结果。

数据查询与报表 · Skill 模板 SKILL
## SKILL: 数据报表生成

### 功能描述
基于数据库查询结果,自动生成结构化报表和分析摘要。

### 报表类型
- 统计报表:汇总、分组、同比环比
- 排行榜:Top N 排序,支持多维度
- 趋势分析:按时间维度展示变化趋势
- 异常报告:标出偏离正常范围的数据

### 执行流程
1. 理解用户的报表需求
2. 拆解为一组 SQL 查询
3. 执行查询,合并结果
4. 生成带标题、表格、摘要的报表

### 输出格式
- Markdown 表格(便于阅读和分享)
- 关键指标加粗标注
- 末尾附一段话总结(数据说明了什么)

skill_config 配置参考

数据库连接的配置模板。生产环境一定要用只读账号:

数据库 skill_config
skill_config:
  name: "database"
  description: "数据库查询与操作"
  version: "1.0"

  triggers:
    - pattern: "查数据|查询|统计|报表"
      action: "query_database"
    - pattern: "表结构|有哪些表|字段"
      action: "show_schema"

  databases:
    sqlite_local:
      type: "sqlite"
      path: "/path/to/local.db"
      read_only: true

    mysql_prod:
      type: "mysql"
      host: "${DB_HOST}"
      port: 3306
      database: "${DB_NAME}"
      user: "${DB_USER}"
      password: "${DB_PASSWORD}"
      read_only: true            # 生产环境必须只读
      query_timeout: 30
      max_rows: 1000

    postgres_analytics:
      type: "postgresql"
      host: "${PG_HOST}"
      port: 5432
      database: "${PG_DATABASE}"
      user: "${PG_USER}"
      password: "${PG_PASSWORD}"
      read_only: true
      ssl: true

  settings:
    preview_sql: true             # 执行前展示 SQL
    auto_limit: 100               # 未指定 LIMIT 时自动添加
    slow_query_threshold: 5       # 超过 5 秒标记为慢查询

  permissions:
    - database_read
    - env_read

  error_handling:
    on_timeout: "终止查询,建议优化 SQL 或添加索引"
    on_auth_fail: "提示检查数据库凭证"
    fallback: "报告错误详情,不静默失败"
⚠️ 生产环境数据库务必使用只读权限的账号!让 AI 写 SQL 查数据没问题,但千万别给它 DELETE 和 UPDATE 的权限。一个手滑的 WHERE 条件可能让你的数据全没了。read_only: true 是你的生命线。

相关资源

数据库操作搭配这些一起用:

这篇模板对你有帮助吗?