daedalus-cli 0.1.4

A Rust-based command-line interface tool for PostgreSQL and Redis database management and exploration with an intuitive terminal user interface.
Documentation
# 自定义SQL查询功能使用说明

## 功能概述

Daedalus CLI现在支持自定义SQL查询功能,允许用户输入任意的SQL语句(包括SELECT查询、JOIN查询等)并查看结果。

## 使用方法

### 1. 启动应用
```bash
./target/debug/daedalus-cli connect <connection_name>
```

### 2. 进入自定义SQL查询模式
- 在表列表界面(TableList状态),按 `s` 键进入SQL查询输入模式
- 在表数据查看界面(TableData状态),按 `s` 键也可以进入SQL查询输入模式

### 3. 输入SQL查询
- 在SQL输入界面,输入您的SQL查询语句
- 支持所有PostgreSQL支持的SQL语法,包括:
  - 简单的SELECT查询:`SELECT * FROM users;`
  - 带条件的查询:`SELECT * FROM users WHERE age > 18;`
  - 连表查询:`SELECT u.name, o.order_date FROM users u JOIN orders o ON u.id = o.user_id;`
  - 聚合查询:`SELECT department, COUNT(*) FROM employees GROUP BY department;`
  - 子查询等复杂查询

### 4. 执行查询
- 输入完SQL语句后,按 `Enter` 键执行查询
- 查询结果会以表格形式显示

### 5. 导航和操作
在查询结果界面,您可以使用以下快捷键:
- `↑/↓`:在行间导航
- `PageUp/PageDown`:翻页查看结果
- `s`:返回查询输入界面
- `t`:返回表列表界面
- `c`:返回连接选择界面
- `ESC`:返回上一个界面
- `q`:退出应用

## 功能特点

1. **分页支持**:大量查询结果会自动分页显示
2. **列名显示**:自动识别和显示查询结果的列名
3. **数据类型处理**:正确处理各种PostgreSQL数据类型
4. **错误处理**:SQL语法错误或执行错误会显示详细的错误信息
5. **灵活的导航**:可以在查询结果、表数据和连接选择之间自由切换

## 示例

### 简单查询
```sql
SELECT * FROM users LIMIT 10;
```

### 连表查询
```sql
SELECT
    u.name,
    u.email,
    o.order_date,
    o.total_amount
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.total_amount > 100;
```

### 聚合查询
```sql
SELECT
    department,
    COUNT(*) as employee_count,
    AVG(salary) as avg_salary
FROM employees
GROUP BY department
ORDER BY avg_salary DESC;
```

## 注意事项

1. 查询结果最多显示20行数据,使用PageUp/PageDown翻页查看更多结果
2. 对于非SELECT查询(INSERT、UPDATE、DELETE),会显示执行结果但不显示数据
3. 复杂的查询可能需要较长时间执行,请耐心等待
4. 确保SQL语法正确,否则会显示错误信息