DBX

SQL 快捷操作

SQL 快捷操作允许你在查询编辑器中先选中表名(或限定标识符),再按快捷键执行可复用的 SQL。

这与 SQL 代码片段 不同:代码片段通过补全把模板插入到光标处;快捷操作会根据当前选区生成 SQL,并走正常的执行流程。

管理快捷操作

打开 设置 → 快捷键,找到 SQL 快捷操作 区域。

内置模板

DBX 默认提供两条内置操作(列表中标记为 内置模板):

操作默认快捷键可编辑
查前 N 条Mod+Shift+1快捷键与行数
统计行数Mod+Shift+2仅快捷键

内置显示名随界面语言翻译,不可改文案;始终适用于全部数据库,不可删除(可关闭启用开关)。列表为空时会恢复默认;已有列表会按 id 补齐缺失的内置项(不覆盖你改过的同 id 配置)。

自定义操作

点击 添加 只能新建自定义 SQL 模板。每条自定义操作包含:

字段作用
显示名设置列表中显示的名称。
快捷键触发该操作的按键组合。
适用数据库可留空表示全部库;或限定为若干数据库类型。
SQL 模板自定义 ${table} SQL。限定具体库后,可为每种库分别编辑正文。
状态临时启用或停用,不需要删除模板。

添加 流程不再提供「查前 N 条」操作类型——该能力由内置模板负责。在编辑对话框中保存后会立即生效;也可以在设置窗口点击 应用 统一保存。

SQL 快捷操作仅在 SQL 编辑器中生效(MySQL、PostgreSQL、Hive、ClickHouse 等)。Redis、MongoDB、Elasticsearch 等非 SQL 页不会触发。

建议使用包含 Mod(macOS 为 Cmd,Windows/Linux 为 Ctrl)的组合键,比单独使用 Shift+字母 更少干扰正常输入。

查前 N 条

内置 查前 N 条 会按当前连接的方言生成语句:

  • MySQL / PostgreSQL / 未知 JDBC:LIMIT N
  • SQL Server:TOP N
  • Oracle / 达梦:ROWNUM
  • DB2:FETCH FIRST N ROWS ONLY

只需配置行数和快捷键。未知 JDBC 连接同样使用 LIMIT,避免执行无行数限制的 SELECT *。

按库分别编辑 SQL

自定义操作限定为若干数据库类型后,SQL 模板旁会出现库类型下拉框:

  • 切换库会自动把当前文本框暂存为该库的覆盖(sqlByDatabaseType),再载入目标库(有覆盖用覆盖,否则用默认 sql)。
  • 对话框 保存 只持久化默认 sql 与已编辑过的库覆盖,不会把当前正文写到所有已选库。
  • 应用到全部选中库 会把当前正文复制到每个已选库,并同步默认 sql。
  • 取消勾选某个库会删除其覆盖(再勾选不会复活旧正文)。切回 全部数据库 会清空全部覆盖,并保留当前所见正文作为唯一模板。

执行快捷操作

  1. 在 SQL 编辑器中选中表名或限定标识符,例如 orders 或 public.users。也可以不选中,只把光标放在标识符上(会带上引号与 schema.table)。
  2. 按下已配置的快捷键。
  3. 对 SQL 模板,DBX 会把 ${table} 替换为选区文本(若有按库正文则优先使用);对「查前 N 条」,会按当前库类型生成 SQL 后执行。

示例模板:

SELECT COUNT(*) FROM ${table}

选中 orders 后,DBX 会执行:

SELECT COUNT(*) FROM orders

有选区时用选区作为 ${table};无选区时用光标处的限定标识符(含引号与 schema.table)。两者都没有则不触发。若当前连接不在该操作的适用数据库范围内,该快捷键在本标签页中也不会执行。

快捷键冲突

DBX 会检查快捷操作是否与以下快捷键冲突:

  • 适用数据库范围有交集的其他快捷操作(「全部数据库」与任意范围都视为有交集)
  • 设置 → 快捷键 中的内置编辑器和全局快捷键

同库快捷键不可重复;跨库且范围不重叠时可以共用同一快捷键(例如仅 MySQL 与仅 SQL Server)。存在冲突时,设置界面会标红,并且在解决冲突前无法 应用 设置。

保存、同步与安全

快捷操作属于编辑器设置,保存在当前 DBX 运行环境中。桌面版的配置云同步可以连同其他编辑器设置一起同步;连接配置迁移只处理数据库连接,不包含快捷操作。

快捷操作只是生成 SQL,不会绕过数据库权限或 DBX 的生产保护。执行包含写入或 DDL 的模板前,仍应检查展开后的完整 SQL,并遵循生产安全建议。