如何在DBeaver中执行SQL脚本?

51

我有一些.sql文件,希望通过DBeaver执行。传统的数据库开发程序允许用户在同一个窗口中编辑和运行SQL脚本(全部或部分),但是在DBeaver中并不明显。

当我打开一个.sql脚本时,按钮栏中会出现一些下拉框,似乎是连接选择器。但是我定义的所有连接都没有出现在这些下拉框中。可以在“数据库导航”视图中对数据库对象打开SQL控制台,但不能在SQL脚本上打开。

如何在DBeaver中针对特定数据库连接执行SQL脚本的全部或部分内容?


你好,Luis,希望一切都好。我们下面有一个评论回答了在SQL中运行代码的部分,也许我们应该改进问题并将该答案移动到另一个问题。请参见https://dev59.com/tVgQ5IYBdhLWcg3w7obY#42005260我们是否考虑更改问题以反映这里涉及多个文件的情况?也许我读错了。 - Curious Watcher
问题在我的看法中非常清楚:“如何执行 SQL 脚本”。标题类似。 - Luís de Sousa
干杯,当我在dbeaver上运行单个脚本时,ALT+X是我的选择。答案已更新。 - Curious Watcher
5个回答

63

对于较大的文件,最优的编辑方式是使用外部编辑器来编辑.sql文件,然后在DBeaver中进行:

  • 右键单击您的数据库
  • 选择工具/执行脚本
  • 加载您的.sql文件
  • 点击开始

对于大文件,这种方法通常更加方便和快速。


如果要不使用外部编辑器完成此操作,则必须执行以下步骤:

  • 活动数据源下拉菜单中设置您的数据库
  • 加载您的文件,文件/打开文件...
  • 运行整个脚本,例如使用快捷键Alt+X

11
我查过了,Ubuntu 18上的DBeaver没有在工具下执行脚本的选项。 - Boniface Pereira
2
嗨@BonifacePereira,我现在在5.2.0版本上检查了一下,该选项仍然存在。重要的是要展开左侧面板中的数据库分支,并在特定数据库上单击鼠标右键,在此上下文菜单中,有“工具/执行脚本”选项。 - simhumileco
1
我找到了选项,谢谢。我试图运行创建数据库的脚本。DBeaver 要求在其中运行脚本时必须已经创建好数据库。 - Boniface Pereira
DBEAVER无法执行大型SQL文件。 - Saige Zhang
1
注意,这在后续版本中似乎有所改变:现在只能从任务系统中访问。您可以创建一个“执行SQL脚本”任务(特定于您的关系型数据库管理系统),然后从那里执行外部文件。这样可以执行大型SQL文件,而无需打开它们并使编辑器变得不堪重负。 - Andy Clapham

16
我相信我找到了如何做到这一点的方法。首先,必须使用SQL编辑器打开所需的脚本。然后,必须选择从数据库导航器连接按钮的下拉箭头菜单中可用的“自动同步连接导航器”选项:

enter image description here

在某些情况下,这将立即在SQL编辑器面板中激活SQL控制台。如果不是这种情况,那么必须通过“数据库导航器”并选择要操作的所需模式。
然后,可以通过选择并按下Ctrl+Enter来执行SQL脚本的一部分(例如查询)。

13

你好!非常好的问题!当我开始使用dbeaver时,我也有类似的问题。这是我目前弄清楚的:

  • 使用ALT+X来运行完整的单个脚本;
  • 使用CTRL+ENTER来运行所选代码部分或分号(;)之前的任何内容;
  • 使用Tasks来运行多个文件;在dbeaver 21.0中:
    • 点击菜单Database -> Tasks -> Create new task
    • 指定任务名称
    • 选择连接
    • 选择要运行的文件(我有两个要排除的文件,用红色下划线标出);
    • 从同一菜单中运行任务,观察dbeaver为您迭代代码。

以下是屏幕截图:在dbeaver 21.0上运行数据库任务

Screenshot: running a Database Task on dbeaver 21.0


似乎添加脚本对话框无法找到已打开的命名脚本。有什么想法吗? - Marc
如果脚本是打开的,可能dbeaver不会将其视为最终版本,但这只是我的想法,我还没有找到答案,这个链接是最接近的 https://dbeaver.io/forum/viewtopic.php?f=3&t=933。也许应该报告一个错误? - Curious Watcher
Alt + X真是个好办法!谢谢你! - undefined

6
第一步:通过导航到适当的选项或使用快捷键(Ctrl + J)创建一个新的SQL脚本。
第二步:按照以下步骤导入您刚刚创建的SQL脚本:
  • 点击上下文菜单。
  • 导航到“文件”选项。
  • 选择“导入SQL脚本”(快捷键:Shift-Ctrl-Alt-O)。

enter image description here

第三步:按下执行快捷键(Alt + X),执行您导入的SQL脚本。

enter image description here


5
在 DBeaver 21.1.3 社区版中,我可以通过顶部工具栏上的下拉列表更改数据库和架构。要根据“数据库导航器”中选定的数据库自动更改,请勾选“窗口/首选项/编辑器/将编辑器连接与导航器选择自动同步”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接