dbx/docs/content/docs/query-editor.cn.mdx

104 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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。