文档/ SQL 工作台/ 查询结果与历史
SQL Workbench

查询结果与历史

从执行范围确认到结果检查、复制与导出,再到历史回溯,建立可复核的 SQL 操作流程。

适用场景

本页适用于已经进入 SQL 工作台,需要控制执行范围、核对结果或复用历史语句的用户。常见任务包括:

  • 一个编辑器中包含多条 SQL,只运行当前选中的语句,或明确选择运行完整脚本。
  • 查看查询返回的表格数据、执行耗时、行数、成功或失败状态,并复制需要的内容。
  • 将结果保存为 CSV、JSON、SQL、Excel 或 PDF,供后续分析、交付或留档。
  • 通过关键词、状态、日期和数据源筛选执行历史,找回曾运行的 SQL 并检查错误信息。
  • 在执行 INSERT、UPDATE、DELETE 或 DDL 前再次确认目标连接、数据库和影响范围。
边界说明:结果行上限、查询超时、数据库性能、网络带宽和本机资源都会影响可查看与可导出的数据规模。MagicDB Studio 不承诺无限数据量;大结果集应先添加筛选条件或分页,并根据任务规模选用数据工具

入口路径

从顶部导航进入工作台,在左侧选择已连接的数据源与数据库,然后打开或新建 SQL 查询 Tab。编辑器工具栏提供“运行”和“全部运行”等执行入口;下方区域显示执行摘要或结果集。

需要调整限制时,打开顶部设置,在设置窗口左侧选择查询与结果。需要回溯语句时,从顶部导航进入执行历史,使用时间范围、SQL 内容、状态和数据源等条件检索。

SQL 工作台 · 执行与结果区域
SQL 工作台中运行与全部运行按钮以及下方执行结果摘要
工作台中的执行入口与结果区域:先确认当前数据源和数据库,再按目标选择“运行”或“全部运行”,下方核对每条语句的执行状态。

前置条件

  • 目标数据源已经创建并连接成功;连接所用账号具备当前操作需要的最小权限。
  • 编辑器 Tab 已绑定正确的数据源、数据库与 Schema,且状态栏显示的上下文与预期一致。
  • 执行查询前先补充 WHERE、LIMIT 或数据库对应的分页语法,避免无意读取过多数据。
  • 执行修改或结构变更前,确认具有可用备份、快照或回滚方案,并尽量先在测试环境验证。
  • 若关闭自动提交,提前了解目标数据库的事务行为,并准备在检查后手动 COMMIT 或 ROLLBACK。
推荐检查:先运行只读 SELECT 或等价的预览语句,确认筛选条件与预计行数;对 UPDATE、DELETE,可先将相同 WHERE 条件用于 SELECT,抽样核对主键和关键字段。

编号步骤

  1. 确认执行上下文。查看当前查询 Tab 绑定的数据源、数据库和 Schema;连接名称相近时,不要仅凭 SQL 内容判断环境。涉及生产或只读连接时,先核对连接标识与权限。
  2. 选择执行范围。只需运行部分脚本时,先在编辑器中准确选中目标 SQL,再点击“运行”;需要按编辑器内容运行完整脚本时才使用“全部运行”。执行前检查选区起止位置,避免把相邻 DML 或 DDL 一并选中。当前语句也可使用 Ctrl + Enter 执行。
  3. 先预览,再修改。对 UPDATE 或 DELETE,先把相同筛选条件写成 SELECT,检查主键、样本记录和预计影响范围。确认 WHERE 条件不为空且目标正确后,再执行修改语句;结构变更同样应先审阅完整 DDL。
  4. 核对执行摘要。运行结束后查看成功或失败状态、耗时、返回或影响行数和错误信息。批量运行时逐条检查,不要仅依据顶部“执行完成”提示判断所有业务结果均符合预期。
  5. 查看与复制结果。在 Grid 表格中浏览常规记录;需要观察嵌套内容或单条记录时,可按工作台提供的 Tree、JSON 或表单视图切换。复制前确认是否包含列名、NULL、日期精度和长文本,复制后在目标位置抽查首尾记录。
  6. 按用途导出。从结果工具栏选择 CSV、JSON、SQL、Excel 或 PDF。先以小范围结果试导出,打开文件检查编码、列顺序、数据类型和记录数;敏感数据交付前应按团队规则脱敏。数据规模较大时,不要盲目提高行上限,应改用筛选、分页或数据工具。
  7. 回溯并谨慎复用。进入“执行历史”,按时间、关键词、状态或数据源缩小范围,核对历史项的数据源、数据库、耗时、行数和错误信息。复制或重新使用历史 SQL 后,先在编辑器中重新审阅参数、日期与环境,不要把历史语句直接视为当前可安全执行。
设置 · 查询与结果
设置窗口的查询与结果页面,包含查询超时、结果行上限和自动提交选项
“查询与结果”设置页:可配置单条 SQL 的查询超时、SELECT 结果行上限和 AutoCommit;修改前应结合数据库负载与事务需求评估。

参数说明

以下参数位于设置 → 查询与结果。调整后应使用低风险查询验证实际行为,不应把限制值视为数据库本身的容量保证。

参数 / 控件作用设置建议与风险
查询超时(秒) 限制单条 SQL 的最大等待时间;超时后自动取消。 交互查询宜保持有限值。调大前先检查执行计划、锁等待与网络状况;客户端取消不等于所有数据库都已立即释放后台资源,必要时到数据库侧确认。
结果行上限(行) 限制 SELECT 查询返回的最大行数,超过时截断并提示。 优先通过 WHERE、LIMIT 和分页缩小范围。提高上限会增加传输、渲染和导出成本,仍不代表可以处理无限结果。
自动提交(AutoCommit) 开启时,DML 按连接事务行为自动提交;关闭后通常需要手动 COMMIT 或 ROLLBACK。 修改数据前先确认开关状态。开启后误操作可能立即持久化;关闭后要避免长事务持锁,并在检查影响行数后明确提交或回滚。
运行 运行当前语句或编辑器中明确选择的 SQL。 多语句脚本优先使用精确选区;点击前复核选区和连接上下文。
全部运行 运行当前编辑器中的完整脚本内容。 仅在已逐条审阅脚本顺序和副作用后使用。混合 DDL、DML 与查询时尤其要确认数据库事务语义。
结果导出格式 将当前查询结果保存为 CSV、JSON、SQL、Excel 或 PDF。 格式能力不等于业务正确性。导出后应检查记录数、编码、NULL 表示、日期与数值精度;SQL 格式还需在目标环境审阅后再执行。

预期结果

一次可复核的查询或修改操作,应能得到并确认以下信息:

  • 执行范围符合预期:选中语句与完整脚本没有混淆,数据源、数据库和 Schema 正确。
  • 结果区域显示明确的成功或失败状态,并可查看耗时、返回行数、影响行数或错误详情。
  • 查询数据可在适合的结果视图中检查,并可复制或按所需格式导出;导出文件经抽样核对可正常打开。
  • 执行历史中可按条件找到对应记录,记录的数据源、数据库、SQL 内容、耗时、行数和状态与本次操作相符。
  • 修改数据时,预览结果、实际影响行数和事务处理决定均经过确认;发现偏差时停止后续操作并按既定方案回滚或恢复。
SQL 执行历史 · 筛选与回溯
SQL 执行历史窗口,显示时间、数据源、数据库、SQL、耗时、行数、状态和错误信息
执行历史提供时间范围、SQL 内容、状态和数据源筛选,并列出耗时、行数与错误信息;复用前仍需重新核对当前环境和参数。
完成判定:“执行成功”只说明数据库接受并完成了语句,不代表筛选条件、业务含义或导出内容必然正确。应同时检查关键字段、影响行数、异常值和目标环境。

常见问题

1. 为什么结果只显示一部分记录?

先检查“设置 → 查询与结果”中的结果行上限,并确认 SQL 是否包含 LIMIT 或其他分页条件。达到上限时应缩小筛选范围或分批查询,而不是直接把上限调到极大;需要处理更大规模数据时可转到数据工具评估合适流程。

2. 查询超时后,数据库任务一定已经停止了吗?

不一定。客户端会尝试取消超时查询,但不同数据库和驱动对取消的响应可能不同。先检查连接是否恢复可用;若数据库仍有负载或锁等待,应通过数据库自身的会话与监控能力确认任务状态,避免立即重复提交同一条重查询。

3. 为什么修改成功后无法撤销?

检查执行时的 AutoCommit 状态。开启自动提交后,DML 可能已持久化,普通 ROLLBACK 无法撤销;应停止继续修改,按备份、审计记录或恢复流程处理。今后先用 SELECT 预览相同 WHERE 条件,并在适合的环境中关闭自动提交后验证事务流程。

4. 如何判断应该点“运行”还是“全部运行”?

只执行当前语句或选中片段时使用“运行”;只有在确认编辑器内全部语句都应按当前顺序执行时才使用“全部运行”。脚本包含 DDL、DML 或多环境参数时,建议分段选择执行,并在每段后核对状态与影响行数。

5. 从历史中找到的 SQL 可以直接再次执行吗?

不建议直接执行。历史记录反映的是过去的上下文,数据库、日期参数、数据状态和权限可能已经变化。先复制到编辑器,重新确认数据源、数据库、Schema、动态参数与 WHERE 条件;修改语句仍需先用只读查询预览。