104 lines
4.8 KiB
Plaintext
104 lines
4.8 KiB
Plaintext
---
|
||
title: 查询编辑器
|
||
description: 使用 DBX 的 SQL 编辑器编写、补全、格式化、执行和复用查询。
|
||
---
|
||
|
||
查询编辑器用于完成日常 SQL 工作:编写查询、查看补全建议、格式化语句、执行选中片段,以及从历史记录中找回之前的 SQL。
|
||
|
||
## 基本工作流
|
||
|
||
<Steps>
|
||
<Step>
|
||
### 打开连接
|
||
|
||
从侧边栏选择一个数据库连接。DBX 会根据当前连接加载对应的数据库类型和元数据。
|
||
|
||
</Step>
|
||
<Step>
|
||
### 编写 SQL
|
||
|
||
在编辑器中输入 SQL。补全会结合 SQL 关键字、表、视图、字段和部分关系信息给出建议。
|
||
|
||
</Step>
|
||
<Step>
|
||
### 执行查询
|
||
|
||
使用快捷键执行全部 SQL 或选中的 SQL 片段。结果会显示在编辑器下方的数据表格中。
|
||
|
||
</Step>
|
||
<Step>
|
||
### 复用历史
|
||
|
||
通过查询历史找回之前执行过的语句,适合重复排查和调试。
|
||
|
||
</Step>
|
||
</Steps>
|
||
|
||
## 执行 SQL
|
||
|
||
| 操作 | macOS | Windows / Linux |
|
||
| ------------ | ---------------------- | ----------------------- |
|
||
| 执行全部 SQL | `Cmd+Enter` | `Ctrl+Enter` |
|
||
| 执行选中 SQL | 选中文本后 `Cmd+Enter` | 选中文本后 `Ctrl+Enter` |
|
||
|
||
<Callout type="info">如果编辑器中有选中文本,DBX 只执行选中的 SQL;没有选中文本时,执行当前编辑器中的全部内容。</Callout>
|
||
|
||
执行完成后,结果区域会展示返回行、耗时、影响行数或错误信息。多语句执行时,建议先选中要执行的片段,减少误操作。
|
||
|
||
DBX 也会跟踪查询会话,离开结果集时可以关闭会话;当数据库驱动支持取消时,正在执行的查询也可以从界面中取消。
|
||
|
||
### SQL 执行目标选择器
|
||
|
||
对于只包含单条语句的查询,DBX 可以直接执行而不显示目标选择器。当 SQL 包含多条语句时,DBX 会显示执行目标选择器并提供预览装饰,帮助你选择要执行的语句。
|
||
|
||
可以在设置中的 **显示执行目标选择器** 选项启用或禁用此功能。禁用后,DBX 会直接执行整个编辑器内容而不提示。
|
||
|
||
## 执行范围
|
||
|
||
| 范围 | 如何确定 | 适合场景 |
|
||
| -------- | ---------------------- | ---------------------------- |
|
||
| 选中 SQL | 执行前先高亮文本 | 多语句草稿中最安全 |
|
||
| 当前语句 | 使用编辑器光标相关流程 | 不手动选择文本时运行单条语句 |
|
||
| 全部内容 | 没有选中文本时执行 | 单用途查询标签页或短脚本 |
|
||
|
||
<Callout type="warn">DBX 可以执行批量 SQL 和脚本,但在查询编辑器里仍建议一次运行一条已审查语句。大型 `.sql` 文件请使用带进度跟踪的 [SQL 文件执行](/cn/docs/sql-file)。</Callout>
|
||
|
||
## 自动补全
|
||
|
||
补全建议来自当前连接的数据库上下文:
|
||
|
||
- **SQL 关键字**:例如 `SELECT`、`FROM`、`WHERE`、`GROUP BY`
|
||
- **对象名称**:表、视图、Schema、数据库
|
||
- **字段名称**:根据已经输入的表名或别名推断字段
|
||
- **JOIN 建议**:基于外键或已知关系提示可关联表和关联条件
|
||
- **SQL Server 语法**:SQL Server 连接下支持 `CROSS APPLY`、`OUTER APPLY` 等补全
|
||
|
||
<Callout type="info">补全的准确性依赖当前连接的元数据。如果刚创建表或修改字段,可以刷新连接元数据后再试。</Callout>
|
||
|
||
## 格式化 SQL
|
||
|
||
点击工具栏中的格式化按钮,可以统一缩进、换行和关键字风格。格式化适合在提交迁移脚本、分享查询或排查复杂 SQL 前使用。
|
||
|
||
格式化只改变 SQL 文本,不会执行 SQL,也不会改变数据库内容。
|
||
|
||
## 查询历史
|
||
|
||
DBX 会记录已经执行过的 SQL,方便复用:
|
||
|
||
- 每个连接独立保存查询历史
|
||
- 可以按时间查看之前执行的语句
|
||
- 点击历史记录可重新填入编辑器
|
||
- 适合找回临时排查 SQL、报表查询和修复语句
|
||
- 历史记录会保留足够上下文,用于区分手写查询和 AI 辅助操作
|
||
- **执行时间范围过滤**:按日期范围过滤历史记录,查找特定时间段内执行的查询
|
||
|
||
<Callout type="warn">查询历史可能包含业务字段、表名或筛选条件。共享电脑或演示环境中,建议注意历史记录里的敏感信息。</Callout>
|
||
|
||
## 与数据表格配合
|
||
|
||
查询结果会进入 [数据表格](/cn/docs/data-grid)。如果查询结果可编辑,DBX 会在保存前展示将要执行的 SQL;如果只是临时分析,可以直接导出 CSV、JSON 或 Markdown。
|
||
|
||
## 与 AI 配合
|
||
|
||
编辑器可以把当前 SQL、连接类型、数据库名、最近错误、结果预览和已加载的 Schema 上下文发送给 [AI 助手](/cn/docs/ai-assistant)。Ask 模式只返回 SQL 和说明;Agent 模式会先经过 DBX 的执行策略,再决定是否尝试执行生成的 SQL。
|