一键导入
sql
Query and manage SQLite, PostgreSQL, and MySQL databases. Use when the user wants to query data, inspect schemas, or run database operations.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query and manage SQLite, PostgreSQL, and MySQL databases. Use when the user wants to query data, inspect schemas, or run database operations.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Two-layer memory system — read and update long-term facts, recall past events from conversation history.
Browser automation via Playwright MCP — navigate, click, fill forms, take screenshots, scrape pages, run E2E tests. Use when the user needs web automation, testing, or scraping JavaScript-rendered sites.
Structured code review — security, correctness, performance, maintainability. Use when asked to review code, a PR, or a diff.
Analyze CSV, JSON, Excel data; generate charts and reports. Use when the user provides data files or asks for statistics, charts, or data insights.
Deploy applications to cloud platforms — Fly.io, Railway, Vercel, or via SSH. Use when the user wants to publish, deploy, or release an application.
Build, run, and manage Docker containers and images. Use when the user asks about containers, Docker builds, logs, or deployment.
| name | sql |
| description | Query and manage SQLite, PostgreSQL, and MySQL databases. Use when the user wants to query data, inspect schemas, or run database operations. |
| metadata | {"ccbot":{"emoji":"🗄️","requires":{"bins":["sqlite3"]}}} |
# One-off query
sqlite3 database.db "SELECT * FROM users LIMIT 10;"
# Pretty output
sqlite3 -column -header database.db "SELECT name, email FROM users WHERE active=1;"
# Import CSV
sqlite3 database.db <<'SQL'
.mode csv
.import data.csv my_table
SQL
# Export to CSV
sqlite3 -csv -header database.db "SELECT * FROM orders;" > output/orders.csv
# Inspect schema
sqlite3 database.db ".schema"
sqlite3 database.db ".tables"
uv run --with pandas python3 - <<'EOF'
import sqlite3, pandas as pd
conn = sqlite3.connect("database.db")
# Run query into DataFrame
df = pd.read_sql_query("""
SELECT u.name, COUNT(o.id) as order_count, SUM(o.total) as revenue
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id
ORDER BY revenue DESC
LIMIT 20
""", conn)
print(df.to_string(index=False))
# Save results
df.to_csv("output/report.csv", index=False)
print("\nSaved: output/report.csv")
conn.close()
EOF
# Requires: psql installed, DATABASE_URL set
export PGPASSWORD="$DB_PASSWORD"
# Run query
psql "$DATABASE_URL" -c "SELECT count(*) FROM users;"
# Run from file
psql "$DATABASE_URL" -f query.sql
# Export to CSV
psql "$DATABASE_URL" -c "\COPY (SELECT * FROM orders) TO 'output/orders.csv' CSV HEADER;"
# Interactive session
psql "$DATABASE_URL"
mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" \
-e "SELECT COUNT(*) FROM users;"
# Dump database
mysqldump -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > output/backup.sql
SELECT
DATE(created_at) as day,
COUNT(*) as new_users,
COUNT(*) FILTER (WHERE plan = 'pro') as pro_users
FROM users
WHERE created_at >= date('now', '-30 days')
GROUP BY 1
ORDER BY 1;
SELECT email, COUNT(*) as cnt
FROM users
GROUP BY email
HAVING cnt > 1
ORDER BY cnt DESC;
SELECT
user_id,
amount,
SUM(amount) OVER (PARTITION BY user_id ORDER BY created_at) as running_total,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at) as order_num
FROM purchases;
-- SQLite
SELECT json_extract(metadata, '$.plan') as plan FROM users;
-- PostgreSQL
SELECT metadata->>'plan' as plan FROM users;
# SQLite: full schema
sqlite3 db.sqlite ".dump" | grep "^CREATE"
# PostgreSQL: table sizes
psql "$DATABASE_URL" -c "
SELECT relname as table, pg_size_pretty(pg_total_relation_size(oid)) as size
FROM pg_class WHERE relkind='r' ORDER BY pg_total_relation_size(oid) DESC LIMIT 20;
"
EXPLAIN QUERY PLAN (SQLite) or EXPLAIN ANALYZE (PostgreSQL) to debug slow queries.COPY (PostgreSQL) or chunked pagination rather than SELECT *.output/ for Feishu delivery.