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。 - 取消勾选某个库会删除其覆盖(再勾选不会复活旧正文)。切回 全部数据库 会清空全部覆盖,并保留当前所见正文作为唯一模板。
执行快捷操作
- 在 SQL 编辑器中选中表名或限定标识符,例如
orders或public.users。也可以不选中,只把光标放在标识符上(会带上引号与schema.table)。 - 按下已配置的快捷键。
- 对 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,并遵循生产安全建议。