Skip to content

数据库工具

MyDeskBot Desktop 提供强大的数据库工具,让您可以直接从 AI 助手与数据库交互。

功能特性

连接数据库

MyDeskBot 支持多种数据库连接:

  • PostgreSQL
  • MySQL
  • SQLite
  • Microsoft SQL Server

数据库操作

AI 助手可以执行以下数据库操作:

  • 使用自然语言查询数据
  • 插入、更新和删除记录
  • 创建和修改表
  • 运行自定义 SQL 查询
  • 导出查询结果
  • 可视化数据

AI 集成

数据库工具与 AI 助手深度集成:

用户: "显示上周注册的所有用户"

AI: [自动生成 SQL 查询]
SELECT * FROM users WHERE created_at >= NOW() - INTERVAL '7 days';

设置

1. 配置数据库连接

  1. 打开 MyDeskBot Desktop
  2. 进入 设置 → 数据库
  3. 点击"添加连接"
  4. 填写连接详情:
    • 数据库类型
    • 主机地址
    • 端口号
    • 数据库名称
    • 用户名和密码

2. 测试连接

配置完成后,点击"测试连接"验证数据库是否可访问。

使用示例

自然语言查询

markdown
用户: "本月下了多少订单?"

AI: [查询数据库]
"本月共下了 1,247 个订单。"

数据分析

markdown
用户: "分析过去一年的销售趋势"

AI: [运行多个查询并创建可视化]
"以下是您的销售趋势分析..."

数据导出

markdown
用户: "导出所有订阅高级计划的用户"

AI: [查询并导出数据]
"已导出 842 条记录到 CSV 文件。"

安全

连接安全

  • 所有数据库连接使用 SSL/TLS 加密
  • 凭证安全存储在您的密钥链中
  • 连接可配置为需要重新验证

AI 安全

  • AI 无法在未经确认的情况下执行破坏性操作
  • 写操作(INSERT、UPDATE、DELETE)需要明确批准
  • 破坏性操作(DROP、TRUNCATE)需要双重确认

最佳实践

1. 使用描述性表名

sql
-- 好
CREATE TABLE customer_orders (
  id SERIAL PRIMARY KEY,
  customer_id INTEGER,
  order_date TIMESTAMP
);

-- 避免
CREATE TABLE t1 (
  id INT,
  c_id INT,
  date DATETIME
);

2. 添加索引以提升性能

sql
CREATE INDEX idx_orders_date ON customer_orders(order_date);

3. 使用准备语句

AI 助手自动使用准备语句以防止 SQL 注入。

4. 限制查询结果

markdown
用户: "显示前 100 个用户"

AI: [执行 SELECT * FROM users LIMIT 100]

故障排除

连接失败

  • 验证数据库凭证
  • 检查数据库是否运行
  • 确保防火墙允许连接
  • 检查 SSL/TLS 设置

查询缓慢

  • 添加适当的索引
  • 优化 WHERE 子句
  • 考虑查询缓存
  • 使用 EXPLAIN 分析查询计划

权限被拒绝

  • 验证用户具有必要权限
  • 检查数据库角色分配
  • 确保用户有权访问特定数据库/模式

高级功能

查询模板

将常用查询保存为模板:

sql
-- 模板:获取活跃用户
SELECT COUNT(*) FROM users WHERE last_active > NOW() - INTERVAL '7 days';

查询历史

所有通过 AI 执行的查询都会被记录,可以在 设置 → 数据库 → 历史 中查看。

自定义 AI 规则

创建规则,控制 AI 如何与您的数据库交互:

json
{
  "databaseRules": {
    "allowDestructive": false,
    "requireConfirmationForWrites": true,
    "maxResultLimit": 10000,
    "allowedTables": ["users", "orders", "products"]
  }
}

相关链接