重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
npx skills add https://github.com/johnlindquist/claude --skill db跨 SQLite、PostgreSQL 和 MySQL 查询和管理数据库。
根据需要安装数据库 CLI 工具:
# SQLite (通常在 macOS/Linux 上预装)
sqlite3 --version
# PostgreSQL
brew install postgresql
# 或
apt install postgresql-client
# MySQL
brew install mysql-client
# 或
apt install mysql-client
# 连接到数据库
sqlite3 database.db
# 执行查询
sqlite3 database.db "SELECT * FROM users LIMIT 10"
# 输出为 CSV 格式
sqlite3 -csv database.db "SELECT * FROM users"
# 输出为 JSON 格式 (需要 sqlite 3.33+)
sqlite3 -json database.db "SELECT * FROM users"
# 显示列标题
sqlite3 -header database.db "SELECT * FROM users"
# 执行 SQL 文件
sqlite3 database.db < queries.sql
# 模式相关命令
sqlite3 database.db ".schema"
sqlite3 database.db ".tables"
sqlite3 database.db ".schema users"
# 连接
psql postgresql://user:pass@host:5432/dbname
# 执行查询
psql -c "SELECT * FROM users LIMIT 10" postgresql://...
# 仅元组 (无标题)
psql -t -c "SELECT count(*) FROM users" postgresql://...
# 无对齐 (机器可读)
psql -t -A -c "SELECT id,name FROM users" postgresql://...
# 执行 SQL 文件
psql -f queries.sql postgresql://...
# 列出表
psql -c "\dt" postgresql://...
# 描述表结构
psql -c "\d users" postgresql://...
# 输出格式
psql -c "SELECT * FROM users" --csv postgresql://...
psql -c "SELECT * FROM users" --html postgresql://...
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
# 连接
mysql -h host -u user -p dbname
# 执行查询
mysql -h host -u user -p -e "SELECT * FROM users LIMIT 10" dbname
# 批处理模式 (无标题)
mysql -h host -u user -p -B -e "SELECT * FROM users" dbname
# 执行 SQL 文件
mysql -h host -u user -p dbname < queries.sql
# 显示表
mysql -h host -u user -p -e "SHOW TABLES" dbname
# 描述表结构
mysql -h host -u user -p -e "DESCRIBE users" dbname
# 所有表
sqlite3 db.sqlite ".tables"
# 表模式
sqlite3 db.sqlite ".schema tablename"
# 所有模式
sqlite3 db.sqlite ".schema"
# 所有表
psql -c "\dt" $DATABASE_URL
# 表模式
psql -c "\d tablename" $DATABASE_URL
# 包含索引的表信息
psql -c "\d+ tablename" $DATABASE_URL
# 所有表
mysql -e "SHOW TABLES" -h host -u user -p dbname
# 表模式
mysql -e "DESCRIBE tablename" -h host -u user -p dbname
# 创建语句
mysql -e "SHOW CREATE TABLE tablename" -h host -u user -p dbname
# SQLite
sqlite3 db.sqlite "EXPLAIN QUERY PLAN SELECT * FROM users WHERE email = 'x'"
# PostgreSQL
psql -c "EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'x'" $DATABASE_URL
# MySQL
mysql -e "EXPLAIN SELECT * FROM users WHERE email = 'x'" dbname
# SQLite 到 CSV
sqlite3 -csv -header db.sqlite "SELECT * FROM users" > users.csv
# PostgreSQL 到 CSV
psql -c "\COPY users TO 'users.csv' CSV HEADER" $DATABASE_URL
# MySQL 到 CSV
mysql -e "SELECT * FROM users" -B dbname | tr '\t' ',' > users.csv
使用 Gemini 帮助编写查询:
# 描述你的需求
gemini -m pro -o text -e "" "编写一个 SQL 查询来:
- 查找过去 30 天内注册的所有用户
- 这些用户至少有一次购买记录
- 按购买次数降序排列
表结构:
- users (id, email, created_at)
- purchases (id, user_id, amount, created_at)
输出 PostgreSQL 兼容的 SQL。"
# 生成查询
QUERY=$(gemini -m pro -o text -e "" "编写 SQL 用于:[你的需求]")
# 执行前审查
echo "生成的查询:"
echo "$QUERY"
# 如果安全则执行
# psql -c "$QUERY" $DATABASE_URL
# 创建迁移文件
cat > migrations/001_add_column.sql << 'EOF'
ALTER TABLE users ADD COLUMN status VARCHAR(50) DEFAULT 'active';
EOF
# 应用迁移
psql -f migrations/001_add_column.sql $DATABASE_URL
# 1. 先在副本上测试
createdb test_migration
pg_dump $DATABASE_URL | psql test_migration
# 2. 在测试环境运行迁移
psql -f migration.sql test_migration
# 3. 验证
psql -c "\d tablename" test_migration
# 4. 应用到生产环境
psql -f migration.sql $DATABASE_URL
# 5. 清理
dropdb test_migration
安全存储连接字符串:
# .env 文件 (不要提交!)
DATABASE_URL=postgresql://user:pass@host:5432/dbname
SQLITE_DB=./data/app.db
# 使用
psql $DATABASE_URL
sqlite3 $SQLITE_DB
每周安装量
56
代码仓库
GitHub 星标数
21
首次出现
2026年1月24日
安全审计
安装于
opencode49
gemini-cli47
codex44
github-copilot42
cursor42
amp40
Query and manage databases across SQLite, PostgreSQL, and MySQL.
Install database CLIs as needed:
# SQLite (usually pre-installed on macOS/Linux)
sqlite3 --version
# PostgreSQL
brew install postgresql
# or
apt install postgresql-client
# MySQL
brew install mysql-client
# or
apt install mysql-client
# Connect to database
sqlite3 database.db
# Execute query
sqlite3 database.db "SELECT * FROM users LIMIT 10"
# Output as CSV
sqlite3 -csv database.db "SELECT * FROM users"
# Output as JSON (requires sqlite 3.33+)
sqlite3 -json database.db "SELECT * FROM users"
# Column headers
sqlite3 -header database.db "SELECT * FROM users"
# Execute SQL file
sqlite3 database.db < queries.sql
# Schema commands
sqlite3 database.db ".schema"
sqlite3 database.db ".tables"
sqlite3 database.db ".schema users"
# Connect
psql postgresql://user:pass@host:5432/dbname
# Execute query
psql -c "SELECT * FROM users LIMIT 10" postgresql://...
# Tuples only (no headers)
psql -t -c "SELECT count(*) FROM users" postgresql://...
# No alignment (machine-readable)
psql -t -A -c "SELECT id,name FROM users" postgresql://...
# Execute SQL file
psql -f queries.sql postgresql://...
# List tables
psql -c "\dt" postgresql://...
# Describe table
psql -c "\d users" postgresql://...
# Output format
psql -c "SELECT * FROM users" --csv postgresql://...
psql -c "SELECT * FROM users" --html postgresql://...
# Connect
mysql -h host -u user -p dbname
# Execute query
mysql -h host -u user -p -e "SELECT * FROM users LIMIT 10" dbname
# Batch mode (no headers)
mysql -h host -u user -p -B -e "SELECT * FROM users" dbname
# Execute SQL file
mysql -h host -u user -p dbname < queries.sql
# Show tables
mysql -h host -u user -p -e "SHOW TABLES" dbname
# Describe table
mysql -h host -u user -p -e "DESCRIBE users" dbname
# All tables
sqlite3 db.sqlite ".tables"
# Table schema
sqlite3 db.sqlite ".schema tablename"
# All schemas
sqlite3 db.sqlite ".schema"
# All tables
psql -c "\dt" $DATABASE_URL
# Table schema
psql -c "\d tablename" $DATABASE_URL
# Table with indexes
psql -c "\d+ tablename" $DATABASE_URL
# All tables
mysql -e "SHOW TABLES" -h host -u user -p dbname
# Table schema
mysql -e "DESCRIBE tablename" -h host -u user -p dbname
# Create statement
mysql -e "SHOW CREATE TABLE tablename" -h host -u user -p dbname
# SQLite
sqlite3 db.sqlite "EXPLAIN QUERY PLAN SELECT * FROM users WHERE email = 'x'"
# PostgreSQL
psql -c "EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'x'" $DATABASE_URL
# MySQL
mysql -e "EXPLAIN SELECT * FROM users WHERE email = 'x'" dbname
# SQLite to CSV
sqlite3 -csv -header db.sqlite "SELECT * FROM users" > users.csv
# PostgreSQL to CSV
psql -c "\COPY users TO 'users.csv' CSV HEADER" $DATABASE_URL
# MySQL to CSV
mysql -e "SELECT * FROM users" -B dbname | tr '\t' ',' > users.csv
Use Gemini to help write queries:
# Describe what you want
gemini -m pro -o text -e "" "Write a SQL query to:
- Find all users who signed up in the last 30 days
- Who have made at least one purchase
- Order by purchase count descending
Table schemas:
- users (id, email, created_at)
- purchases (id, user_id, amount, created_at)
Output PostgreSQL-compatible SQL."
# Generate query
QUERY=$(gemini -m pro -o text -e "" "Write SQL for: [your request]")
# Review before executing
echo "Generated query:"
echo "$QUERY"
# Then execute if safe
# psql -c "$QUERY" $DATABASE_URL
# Create migration file
cat > migrations/001_add_column.sql << 'EOF'
ALTER TABLE users ADD COLUMN status VARCHAR(50) DEFAULT 'active';
EOF
# Apply migration
psql -f migrations/001_add_column.sql $DATABASE_URL
# 1. Test on copy first
createdb test_migration
pg_dump $DATABASE_URL | psql test_migration
# 2. Run migration on test
psql -f migration.sql test_migration
# 3. Verify
psql -c "\d tablename" test_migration
# 4. Apply to production
psql -f migration.sql $DATABASE_URL
# 5. Cleanup
dropdb test_migration
Store connection strings securely:
# .env file (don't commit!)
DATABASE_URL=postgresql://user:pass@host:5432/dbname
SQLITE_DB=./data/app.db
# Usage
psql $DATABASE_URL
sqlite3 $SQLITE_DB
Weekly Installs
56
Repository
GitHub Stars
21
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykFail
Installed on
opencode49
gemini-cli47
codex44
github-copilot42
cursor42
amp40
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
125,600 周安装