dbeaver:执行SQL语句、在新标签页中执行 SQL、 执行 SQL 脚本、本地执行 SQL 脚本、从该位置执行 SQL 脚本、在单独的标签页中执行语句

介绍

如下图,有很多执行:

下面说明各个功能

1. 执行 SQL语句(快捷键:Ctrl+Enter)

  • 作用:执行当前光标所在的单条/选中的 SQL 语句
  • 特点:
    • 光标在哪,就执行哪条;如果选中了一段,就只执行选中的部分
    • 不会把整个文件一次性跑完,适合调试、分步执行
  • 适用场景:
    • 单条查询、测试某条语句、分步调试脚本
  • 注意:大文件不要用它全选执行,容易卡死

2. 在新标签页中执行 SQL(快捷键:Ctrl+\)

  • 作用:和 Ctrl+Enter 功能一样(执行当前/选中的SQL),但执行结果会在一个新的标签页里显示
  • 特点:
    • 不会覆盖当前编辑器里的查询结果,方便同时对比多条语句的结果
  • 适用场景:
    • 需要同时查看多个查询结果、不想来回切换的情况

3. 执行 SQL 脚本(快捷键:Alt+X)

  • 作用:一次性执行编辑器里全部的 SQL 脚本(从文件开头到结尾)
  • 特点:
    • 按顺序执行文件里所有语句,遇到错误会默认停止(可以在设置里改成继续执行)
  • 适用场景:
    • 已经打开的 .sql 文件,一次性跑完整个脚本(比如批量建表、初始化数据)
  • 注意:文件过大(比如几十上百MB)时,建议用下面的「本地执行」

4. 本地执行 SQL 脚本(快捷键:Alt+N)

  • 作用:直接读取本地 .sql 文件,以“流式”方式批量执行,不把整个文件加载到编辑器里
  • 特点:
    • 不占内存,适合超大文件(几百MB甚至GB级别的备份脚本)
    • 可以指定编码、目标数据库、执行失败策略
  • 适用场景:
    • 执行大体积的SQL备份文件、批量数据导入脚本
  • 注意:需要从官方下载程序,通过程序处理超大文件,由于服务器在国外,下载非常慢

5. 从该位置执行 SQL 脚本(快捷键:Alt+P)

  • 作用:从当前光标位置开始,向后执行到文件结尾的所有SQL语句
  • 特点:
    • 跳过光标前面的内容,只执行后面的部分
  • 适用场景:
    • 脚本执行到一半报错,修改后从错误位置后面继续执行,不用从头跑一遍

6. 在单独的标签页中执行语句(快捷键:Ctrl+Alt+Shift+X)

  • 作用:和 Ctrl+Enter 类似,但会把执行的SQL语句和结果,都放在一个全新的独立标签页里
  • 特点:
    • 完全不影响原来的编辑器页面,适合临时测试语句、不想污染原文件
  • 适用场景:
    • 临时写查询、不想改动原脚本,或者需要把不同查询的结果分开管理

一句话总结(按你最常用的场景分)

场景 用哪个?
单条SQL调试、分步执行 Ctrl+Enter
整个文件一次性跑完(小脚本) Alt+X
超大SQL备份文件 Alt+N(本地执行)
脚本执行一半出错,从中间继续跑 Alt+P
临时测试,不想改动原文件 Ctrl+Alt+Shift+X

2 和 6的区别

1. 「在新标签页中执行 SQL」(快捷键:Ctrl+\)

核心特点:复用当前编辑器,结果单独开标签

  • SQL 代码:还是在你当前打开的编辑器里执行,不会复制一份
  • 执行结果:会在一个新的结果标签页里展示,不会覆盖你上一次的查询结果
  • 举个例子:
    1. 你写了 SELECT * FROM table1;,用 Ctrl+Enter 执行,结果在「结果1」标签页
    2. 再写 SELECT * FROM table2;,用 Ctrl+\ 执行,SQL 还是在当前编辑器里,但结果会新开「结果2」标签页
  • 适合:在同一个编辑器里,反复写不同语句,又想保留每一次的结果对比。

2. 「在单独的标签页中执行语句」(快捷键:Ctrl+Alt+Shift+X)

核心特点:SQL 代码 + 结果,都在全新的独立标签页

  • SQL 代码:会把你选中/当前的语句,复制一份到一个全新的 SQL 编辑器标签页里执行
  • 执行结果:和新的 SQL 编辑器绑定,也在独立的结果标签页里
  • 举个例子:
    1. 你在「编辑器A」里写了 SELECT * FROM table1;
    2. 用这个功能执行,会自动新建「编辑器B」,并把语句复制过去执行
    3. 「编辑器A」的内容完全不会被改动
  • 适合:临时测试、不想改动原脚本,或者想把不同的查询语句分开保存。

3. 一张表看懂区别

功能 SQL 代码位置 执行结果位置 原编辑器影响 典型场景
在新标签页中执行 SQL(Ctrl+\) 原编辑器 新的结果标签页 不变 同一脚本里多轮查询,要对比结果
在单独的标签页中执行语句(Ctrl+Alt+Shift+X) 全新的编辑器标签页 与新编辑器绑定的结果标签页 完全不受影响 临时测试语句,不想改动原文件

一句话总结

  • 想保留多份查询结果,又不想复制代码 → 用 Ctrl+\
  • 想完全不改动原文件,把语句复制到新地方跑 → 用 Ctrl+Alt+Shift+X

原文出处:/show_1GW3AjqYZeBC.html