- 补入库: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)与签名私钥仍按规则排除
67 lines
4.5 KiB
Markdown
67 lines
4.5 KiB
Markdown
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` 与端口映射。
|