# 🚀 Dify SQL 执行器快速参考卡

## 一、配置信息（复制即用）

### API 端点
```
http://120.79.247.16:8000/api/v1/sql/execute-simple
```

### 认证配置
- **鉴权类型**: 请求头
- **鉴权头部前缀**: Custom
- **键**: `X-API-Key`
- **值**: `dify-2025-kaopeilian`

## 二、常用查询示例

### 1. 获取用户统计
```json
{
  "sql": "SELECT role, COUNT(*) as count FROM users GROUP BY role"
}
```

### 2. 查询课程列表
```json
{
  "sql": "SELECT id, name, category, status FROM courses WHERE status = :status",
  "params": {"status": "active"}
}
```

### 3. 查询知识点
```json
{
  "sql": "SELECT * FROM knowledge_points WHERE course_id = :course_id",
  "params": {"course_id": 1}
}
```

### 4. 查询考试记录
```json
{
  "sql": "SELECT er.*, u.username FROM exam_results er JOIN users u ON er.user_id = u.id WHERE er.user_id = :user_id ORDER BY er.created_at DESC LIMIT 10",
  "params": {"user_id": 1}
}
```

## 三、数据写入示例

### 1. 插入知识点
```json
{
  "sql": "INSERT INTO knowledge_points (title, content, course_id, created_at) VALUES (:title, :content, :course_id, NOW())",
  "params": {
    "title": "面部护理基础知识",
    "content": "面部护理包括清洁、爽肤、精华、乳液等步骤...",
    "course_id": 1
  }
}
```

### 2. 更新用户信息
```json
{
  "sql": "UPDATE users SET last_login = NOW() WHERE id = :user_id",
  "params": {"user_id": 1}
}
```

## 四、主要数据表

| 表名 | 说明 | 主要字段 |
|------|------|----------|
| users | 用户表 | id, username, role, created_at |
| courses | 课程表 | id, name, category, status |
| knowledge_points | 知识点表 | id, title, content, course_id |
| exams | 考试表 | id, course_id, title, total_score |
| exam_results | 考试结果表 | id, exam_id, user_id, score |
| training_records | 培训记录表 | id, user_id, course_id, progress |

## 五、测试命令

在终端测试（任何地方都可以执行）：
```bash
curl -X POST http://120.79.247.16:8000/api/v1/sql/execute-simple \
  -H "X-API-Key: dify-2025-kaopeilian" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT COUNT(*) as total FROM users"}'
```

## 六、注意事项

1. ✅ 使用参数化查询（`:param_name`）防止SQL注入
2. ✅ API Key 永不过期，无需更新
3. ✅ 支持所有SQL操作（SELECT, INSERT, UPDATE, DELETE等）
4. ⚠️ 服务器需要先部署才能使用公网地址
5. 💡 本地测试使用 `localhost:8000` 替换IP地址

---
**状态**: 本地可用 | 公网待部署


