79 lines
3.3 KiB
Plaintext
79 lines
3.3 KiB
Plaintext
---
|
||
title: SQL 代码片段
|
||
description: 管理可复用 SQL 模板、触发键和可跳转占位符,并在编辑器补全中快速展开。
|
||
---
|
||
|
||
SQL 代码片段会作为编辑器补全候选出现。输入触发键后接受候选,DBX 会在光标处插入模板;模板中的占位符可以继续用 `Tab` 和 `Shift+Tab` 逐个填写。
|
||
|
||
## 管理代码片段
|
||
|
||
前往 **设置 → 代码片段**。每个片段包含:
|
||
|
||
| 字段 | 作用 |
|
||
| --- | --- |
|
||
| 标签 | 补全列表中显示的名称;留空时使用触发键。 |
|
||
| 触发键 | 用于匹配补全候选的前缀,必填,并且在当前片段列表中必须唯一。 |
|
||
| 状态 | 临时启用或停用片段,不需要删除模板。 |
|
||
| SQL 内容 | 接受补全后插入编辑器的模板正文。 |
|
||
|
||
你可以新增、编辑、启用、停用或删除片段。**恢复默认值**会把当前草稿替换为 DBX 内置片段;完成修改后点击设置窗口中的 **应用** 保存。
|
||
|
||
<Callout type="info">
|
||
DBX 自带 `sel`、`ins`、`upd`、`cte`、`join` 等常用片段。部分内置片段会根据当前数据库调整语法,例如选择合适的行数限制或 `ALTER TABLE` 写法;自定义片段则按原文插入。
|
||
</Callout>
|
||
|
||
## 在编辑器中展开
|
||
|
||
1. 在 SQL 编辑器中输入触发键,例如 `sel`。
|
||
2. 在补全列表中确认标签和正文预览。
|
||
3. 按 `Tab`、`Enter` 或点击候选接受补全。
|
||
4. 如果模板包含占位符,继续按 `Tab` 前进,按 `Shift+Tab` 返回。
|
||
|
||
如果补全列表没有出现,请确认片段已启用、触发键与当前输入匹配,并检查编辑器自动补全是否被关闭。
|
||
|
||
## 占位符语法
|
||
|
||
DBX 使用 CodeMirror 代码片段语法:
|
||
|
||
| 写法 | 作用 |
|
||
| --- | --- |
|
||
| `${}` | 创建一个空的可编辑位置。 |
|
||
| `${name}` | 创建默认文本为 `name` 的可编辑位置;同名位置会同步编辑。 |
|
||
| `${1}` | 使用数字显式指定跳转顺序。 |
|
||
| `${1:defaultText}` | 指定跳转顺序并提供默认文本。 |
|
||
| `#{name}` | `${name}` 的等价写法。 |
|
||
|
||
数字占位符按照编号跳转;没有数字时按照模板中的出现顺序跳转。要插入不会被识别为占位符的字面量花括号,请在花括号前加反斜杠。
|
||
|
||
例如:
|
||
|
||
```sql
|
||
SELECT ${1:columns}
|
||
FROM ${2:table}
|
||
WHERE ${3:condition}
|
||
ORDER BY ${4:column};
|
||
```
|
||
|
||
重复使用同一个占位符可以同时修改多个位置:
|
||
|
||
```sql
|
||
SELECT ${1:column}, COUNT(*) AS cnt
|
||
FROM ${2:table}
|
||
GROUP BY ${1:column};
|
||
```
|
||
|
||
## 保存、同步与安全
|
||
|
||
代码片段属于编辑器设置,会保存在当前 DBX 运行环境中。桌面版的[配置云同步](/cn/docs/cloud-sync)可以连同其他编辑器设置一起同步片段;[连接配置迁移](/cn/docs/config-export)只处理数据库连接,不包含代码片段。
|
||
|
||
片段只是生成 SQL,不会绕过数据库权限或 DBX 的生产保护。执行包含写入或 DDL 的模板前,仍应检查展开后的完整 SQL,并遵循[生产安全](/cn/docs/production-safety)建议。
|
||
|
||
<Cards>
|
||
<Card title="查询编辑器" href="/cn/docs/query-editor">
|
||
了解补全、执行范围、历史记录和 SQL 文件等编辑器能力。
|
||
</Card>
|
||
<Card title="快捷键" href="/cn/docs/keyboard-shortcuts">
|
||
查看接受补全、格式化和执行 SQL 的当前快捷键。
|
||
</Card>
|
||
</Cards>
|