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

67 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
SQL 工作台是日常使用率最高的界面,所有交互围绕「快」设计。
## 执行模型
- **⌘/Ctrl + Enter**:执行光标所在的**当前语句**;有选区时执行**选区**;
- 不是「整页脚本」模式 —— 多条语句互不干扰,想跑哪句把光标放哪;
- Redis 连接共用同一编辑器,按**行**执行命令(见 [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` 与端口映射。