database-toolkit

MCP Tools

Execute SQL queries, maintain data, perform statistics, and backup SQLite/MySQL databases including local and remote connections.

Install

openclaw skills install database-toolkit

Database Ops - 数据库操作

SQLite/MySQL数据库直接操作,支持查询/更新/备份 最后更新:2026-04-13


功能概述

  • 📊 查询数据:SQL查询执行
  • 🔧 数据维护:增删改数据
  • 💾 备份恢复:数据库备份
  • 📈 统计分析:数据统计分析

支持的数据库

SQLite(本地)

路径:
- data/stock_profiles.db
- data/commodity_options.db
- data/financial_data.db
- lottery_v3.db

MySQL(远程)

待配置:
- Host: localhost
- Port: 3306

核心命令

1. 查询

命令:db查询 [SQL]

示例:
- db查询 SELECT * FROM stocks LIMIT 10
- db查询 SELECT code, name FROM stocks WHERE price > 100

2. 统计

命令:db统计 [表名]

示例:
- db统计 stock_profiles
- db统计 odds_history

3. 备份

命令:db备份 [数据库]

示例:
- db备份 stock_profiles
- db备份 all

4. 表结构

命令:db结构 [表名]

示例:
- db结构 stocks
- db结构 odds_history

常用查询模板

股票数据

-- 最近采集的股票
SELECT code, name, price, change_pct 
FROM stocks 
ORDER BY update_time DESC LIMIT 10

-- 涨跌幅排行
SELECT code, name, change_pct 
FROM stocks 
ORDER BY change_pct DESC LIMIT 10

竞彩数据

-- 最近的推荐
SELECT league, home_team, away_team, prediction, odds 
FROM odds_history 
ORDER BY created_at DESC LIMIT 10

-- 命中率统计
SELECT league, COUNT(*) as total, 
       SUM(CASE WHEN result = 'win' THEN 1 ELSE 0 END) as wins
FROM odds_history GROUP BY league

注意事项

  • 写操作需谨慎,建议先备份
  • 敏感数据查询需脱敏
  • 定期备份重要数据
  • 大数据量查询注意性能

Code Implementation

Python实现: database_ops.py

`python from database_ops import DatabaseOps, sqlite_query

创建连接

db = DatabaseOps('data.db')

查询

results = db.execute('SELECT * FROM stocks LIMIT 10')

插入

db.insert('stocks', {'code': '000001', 'name': 'Test', 'price': 10.0})

批量插入

db.insert_many('stocks', [{'code': '1', 'price': 10}, {'code': '2', 'price': 20}])

统计

count = db.count('stocks') stats = db.stats('stocks')

备份

backup_path = db.backup('backup.db')

db.close()

快速查询

results = sqlite_query('data.db', 'SELECT * FROM stocks') `