Files
opsxdb/server/internal/docs/content/06-workbench.md
T
logan 2c0bfafd8d 同步完整源码至远程:扁平化重构现状 + 未入库源文件
- 补入库:server/internal/db/dump.go、redis 分页/扫描预算测试、opsxdb-mcp main_test、
  packages/opsxdb-mcp package-lock、docs 审计与对比文档等 37 个新文件
- 含结构扁平化进行中的 80 处修改与 155 处旧结构删除(server/ src/ src-tauri/ 为当前有效源)
- 构建产物(bin/target/dist)与签名私钥仍按规则排除
2026-10-16 03:47:33 +08:00

4.5 KiB
Raw Blame History

SQL 工作台是日常使用率最高的界面,所有交互围绕「快」设计。

执行模型

  • ⌘/Ctrl + Enter:执行光标所在的当前语句;有选区时执行选区;
  • 不是「整页脚本」模式 —— 多条语句互不干扰,想跑哪句把光标放哪;
  • Redis 连接共用同一编辑器,按行执行命令(见 Redis 工作台),不另开 CLI;
  • 执行在会话上运行,连接断开后自动提示。

多 Tab 与分栏

  • 每个查询一个 Tab,并行执行互不阻塞;
  • 编辑器 / 结果区可拖动分栏,长查询时编辑器不被结果挤占;
  • Tab 与布局持久化,重开应用保持原样。

对象树联动

库节点右键「新建查询」会把该库绑定到新标签。表右键可打开前 N 行(1–10000)、复制限定名、生成 SELECT / INSERT;模板打开在新查询中,不覆盖已有草稿。视图不提供 INSERT 模板。

执行未限定表名的 SQL 时,使用当前查询标签工具条选中的库;各标签独立保存库上下文。MySQL 系列与 SQL Server 执行 USE 库名 会先验证目标库,再切换该标签,脚本中的后续语句也使用新库。目标库不存在或无权限时保持原库不变,并停止该批次的后续语句。PostgreSQL 请通过工具条切换数据库;Redis 单机用 DB 选择器或 SELECT 0–SELECT 15,集群固定 DB0。

编辑器右键支持格式化选区或全文、注释切换、查找替换,以及复制纯文本或带连接摘要的 SQL。连接摘要不含账号密码。点击已加载元数据中的明确表名,可跳转到 DDL;无法唯一识别、别名或未加载对象会禁用跳转。

  • 左侧对象树懒加载库 / 表 / 列;
  • 点表名 = 查询前 100 行,自动生成对应 SQL;
  • 展开表看列名与类型,写 SQL 时可对照。

查询历史

  • 本地留存最近 200 条(不上传、不同步);
  • 相同语句自动去重置顶 —— 历史即「最近用过的不同语句」,高频查询永远在第一条;
  • 点击条目回填编辑器;悬停出现 ▶ 按钮,回填并直接重跑;
  • 顶部过滤框支持按语句内容或连接名搜索;
  • 条目显示时间、连接名、行数与耗时;失败的语句红色标出。

危险 SQL 防护

执行以下语句前会弹确认框:

类型 规则
删除对象 DROP / TRUNCATE
全表更新 无 WHERE 的 UPDATE / DELETE

注意:确认框只拦「明确危险」的模式,不替代事务与备份习惯;生产库操作请配合审批流程。

快捷键

快捷键 动作
⌘/Ctrl + Enter 执行当前语句 / 选区
双击结果单元格 复制单元格内容
Esc 关闭弹层 / 取消确认

按对象浏览结构

关系库按能力显示「表、视图、存储过程、函数」。展开表可浏览字段,并按需展开索引、外键、触发器;视图可展开字段。元数据分组支持右键刷新,具体对象支持复制名称、定义或详情;失败时可重试,未适配的引擎会明确说明。当前目录查询已接入 MySQL 系列、PostgreSQL 系列和 SQLite。

表右键的「查看结构」打开字段结构页,「查看 DDL」查看定义,「复制建表 / 视图 SQL」直接复制定义。SELECT / INSERT 模板在新查询中打开;清空、删除仍须危险确认。

Redis:SQL 工具条可切换单机的 DB0–DB15,展开左侧 DB 后可在该库内搜索;底部搜索框查询当前库。输入普通关键词自动按 *关键词* 包含匹配,完整同名 Key 优先显示;也可输入模式(如 user:*)。回车或点击搜索才会请求服务端,最多 20 次 SCAN(COUNT 200、最多返回 500 项),不会使用 KEYS 枚举浏览。SCAN 仍有开销;有限搜索无结果不等于不存在,当前暂不提供续扫。集群只有 DB0,左侧直接显示 Key,隐藏多余的库层级。

Key 树仅在有过期时间时显示 TTL;点开 Key 的底部详情可输入正整数秒保存 TTL,-1 设为永久。0 秒会立即删除 Key,界面要求使用明确的删除操作。 从 SQL 输入区执行 GET、HGETALL、TTL 等单键读取时也会打开键详情,可在底部查看并修改 TTL。

Redis 集群所有种子及集群公布的节点地址都需要从当前电脑可达。127.0.0.1:7001 connection refused 表示本机该端口拒绝连接;检查节点是否启动。若远程集群返回本机地址,应修正服务端 cluster-announce-ip/port 与端口映射。