数据库、SQL 与 DB AI

本章适合需要在同一个工作区中保存数据库连接、查看对象、执行 SQL,并让 AI 在固定数据库范围内协助分析的用户。## 从哪里打开点击模块栏的 数据库 。点击左侧连接栏添加按钮,选择数据库类型,填写连接并先点击测试;保存后双击连接或使用行菜单连接。从目录树表的右键菜单新建查询/打开数据,或点击主区域 + 新建 SQL 标签。DB AI 通过数据库工作区右侧 切换 DB AI 面板 打开并绑定当前连接。使用 DB AI 前先到 设置 -> 模型 配置、Check 并 Save 一个可用 Provider。① 是连接和对象树,② 管理 SQL、数据和结果页签,③ 是当前数据库工作区内容。## 场景一:连接数据库并查看表在数据库工作区新建连接,选择引擎并填写连接参数。建议先执行连接测试,再保存并连接。连接成功后,从左侧目录依次展开 database、schema、table;SQLite 的单一 main catalog 会被界面折叠,直接显示 tables。双击表可以打开分页数据视图。需要比较多个结果时,可将重要结果页签固定;未固定且已经完成的结果页签会被后续执行复用,防止结果栏无限增长。## 场景二:执行一组 SQL打开 New SQL 页签并输入:sqlselect status, count(*) as totalfrom ordersgroup by statusorder by total desc;Run all 会识别常见 SQL 语句边界并逐条执行。字符串、注释、带引号标识符和 PostgreSQL dollar-quoted body 中的分号不会被错误拆分。某条语句失败不会阻止后续语句产生各自的结果页签。破坏性操作应通过界面确认流程执行。生成 SQL 的 Run 动作仅接受只读语句,并要求当前 SQL 页签仍然匹配生成时的连接、database 和 schema。## 场景三:用自然语言生成 SQL1. 打开连接并选定 database/schema,再点击 切换 DB AI 面板 。2. 在 ① 上下文 确认连接、database 和 schema;没有上下文时不能发送。3. 点击 生成 SELECT 或在 ② 输入框 描述查询,例如"统计过去 24 小时每种订单状态的数量"。4. DB AI 返回目标方言 SQL。使用 ③ 操作按钮 复制、替换当前选区/语句、插入编辑器,或在满足安全条件时直接运行只读 SQL。生成结果不会绕过编辑器作用域:当前 SQL 标签必须仍匹配生成时的连接、database 和 schema,Run 才可用。建议先插入或替换,检查过滤条件和行数,再执行。## 场景四:解释、优化、转换与诊断选中 SQL 后使用 Explain 或 Optimize,或者打开 DB AI 输入:text这条查询为什么没有使用索引?请先检查表结构和索引,再给出改写建议。DB AI 支持的核心动作包括:- Explain :结合表结构、索引和可用执行计划解释查询。- Optimize :给出保持语义的改写与索引建议。- Complete :补全当前不完整 SQL。- Convert :转换到选择的目标 SQL 方言,并在结果卡标明方言。- Diagnose :基于 SQL、错误或执行信息诊断问题。- Schema Summary :总结当前 schema 的主要对象和关系。模型可使用目录发现、表描述、DDL、有限样本、计数、索引检查和 explain 工具,但不能通过工具切换连接,也不能执行任意 SQL 或写操作。Drop、Truncate 等破坏性意图只会得到说明或受控方案,不会由只读 DB AI 工具执行。## 场景五:恢复 DB AI 产品会话数据库上下文变化后,aiopsterm 会轮换到新的 DB AI 会话,避免旧对话在另一个数据库上继续执行。可以从 Agents 产品会话恢复原 DB AI;如果连接或 schema 不可用,会以只读状态打开并要求修复原绑定,不会替换成另一个数据库。## 场景六:让外部 Agent 只读数据库安装 aiopsterm_databases 并在 设置 -> 导出 MCP 开启 允许外部 Agent 读取数据库。外部 Agent 先发现进程级随机连接 handle,再调用目录、描述和结构化查询工具。安全边界:- 默认关闭数据库读取权限。- 不返回保存的连接 ID、地址、用户名、URL、文件路径、代理或密码。- 不提供任意 SQL 和写操作。- query_database_table 只查询 base table,投影和过滤必须经过 catalog 校验,单页最多 100 行。- ClickHouse 和 Presto 的 MCP 数据查询会失败关闭,但 catalog、describe 和脱敏 DDL 仍可使用。## 常见问题- 连接测试成功但目录为空:检查账号的 catalog/schema 元数据权限。- DB AI 无法发送:确认当前 Product Session 的原连接和 schema 仍然有效。- 生成 SQL 无法 Run:当前页签范围与生成时范围不一致,或 SQL 不是只读。- 外部 Agent 返回读取关闭:在导出 MCP 设置中显式授权数据库读取。- 结果被截断:缩小查询范围,使用分页表视图或导出流程,不要依赖一次返回完整大表。GitHub: https://github.com/TangGee/aiopsterm

相关推荐
IvorySQL1 小时前
开源数据库进校园| 11 月 3 日,IvorySQL 校园行走进浙大宁波校区:从 PostgreSQL 扩展生态到 AI 实战
数据库·postgresql·开源
火山引擎开发者社区1 小时前
案例实践 | 让检索为 Agent 而生:ContextSearch 重构企业售前知识库
人工智能
青蓝智慧马老师1 小时前
大模型应用落地,到底靠什么?RAG、智能体和上下文工程一次讲清
人工智能
JAVA_AI人工智能项目实战1 小时前
深度学习实验笔记
人工智能·深度学习·语言模型·自然语言处理
福建佰胜张工1 小时前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化
forest_091 小时前
当 AI 搜索开始「自我进化」,谁来进化它的核实?——「已核实」结论复核器:3 条结论挖出 2 个洞(附可运行代码)
人工智能·python·机器学习·prompt·agi
金海星科技1 小时前
船舶交通管理中心的人工智能值守:从“听、说、读、写“看人机协同
人工智能·macos·xcode
释厄6231 小时前
AI 军备竞赛悖论——为 AI 卖游戏但 AI 需要游戏母场景
人工智能·游戏·kotlin
`Levie1 小时前
MySQL-数据库服务日志管理与数据闪回
数据库·mysql