在 DataGrip 中将 SQL 文件作为控制台打开

Posted

技术标签:

【中文标题】在 DataGrip 中将 SQL 文件作为控制台打开【英文标题】:Open a SQL file as a Console in DataGrip 【发布时间】:2016-12-12 19:59:52 【问题描述】:

我保存了一个 sql 文件,我想打开它并从我在 DataGrip 中连接的数据库中获取结果。当我打开文件时,它作为文件范围而不是控制台范围打开,我无法对数据库运行 sql。我必须打开一个新的数据库控制台,将我的 SQL 复制到数据库控制台中,然后从那里运行它。对 SQL 进行任何我想要的更改,并将其保存回文件。我只想将文件作为控制台打开。

我必须做错了。我错过了什么?如何在 DataGrip 中从磁盘打开 SQL 文件并以类似控制台的方式执行查询?

示例:我有一个 SQL 文件:“customer.sql”,其中包含“Select top 10 * from customer”。当我打开“customer.sql”时,它在 DataGrip 中作为一个文件打开,没有执行或关联的数据库关系。我想针对我的一个数据库连接运行“select top 10 * from customer”的“customer.sql”内容。对查询“select top 11 * from customer”进行更改并将其保存回“customer.sql”

【问题讨论】:

您有一个或多个数据源? 多数据源(3) 上下文菜单→选择方言。然后 CtrL+Enter 查询 → 它必须提供数据源来连接。 成功了!谢谢!我使用的是运行命令而不是执行命令。一旦我将它链接到控制台,查询就会在 IDE 中返回结果。 【参考方案1】:

DataGrip 2017.2 中有一个新选项:附加控制台。

您可以通过 Ctrl+Shift+A 或打开文件的上下文菜单来查找。执行此操作后,可以针对控制台运行此文件。如果您想在多个数据源中运行相同的脚本,切换控制台会很有用。

【讨论】:

附加控制台窗口只有我可用数据源的子集。如何让所有数据源(而不仅仅是一个子集)出现在“附加控制台”窗口中? @BenDundee 请在​​ 2017.2.2 发布后尽快尝试 是的,DataGrip 的某个人在 Twitter 上回应了我的请求 :) 谢谢! @BenDundee 是我 :) 我在文档中发现的一些东西。如果您有多个数据库(mssql、postgres)并且您指定了默认的“方言”,您可能必须先更改您的方言,然后才能“附加”与该方言关联的控制台。【参考方案2】:

这是来自“运行 SQL 脚本文件”help page 的文档,用于 DataGrip 2016.3 运行您自己的文件并获得结果,就像从控制台运行 SQL 一样。

您的文件的任何更改似乎都会自动保存,即使脚本没有执行,然后可以通过“本地历史记录”获得以前的版本,这是大多数(如果不是全部)JetBrains IDE 的功能。

执行单个语句

运行 SQL 文件中包含的单个语句时: – 语句可以包含参数。在运行此类语句之前,DataGrip 会要求您指定参数值。

另一方面: – 语句一次只针对一个数据源运行。

运行一个或多个语句:

    在编辑器中打开感兴趣的 SQL 文件。

    将光标放在要执行的语句中。 如果要运行多个语句,请选择(突出显示)必要的语句。

    执行以下操作之一: – 按 Ctrl + Enter 或从上下文菜单中选择 执行。 – 按 Alt + Enter 或单击 Intention Bulb,然后选择 Run query in console

    选择要使用的数据库控制台。

使用选定的控制台执行一个或多个语句。相应的控制台与文件相关联。关联控制台的名称显示在状态栏上。

【讨论】:

以上是关于在 DataGrip 中将 SQL 文件作为控制台打开的主要内容,如果未能解决你的问题,请参考以下文章

如何在 DataGrip 中打开新的 sql 窗格?

将 .csv 文件导入 Datagrip?

如何通过 DataGrip 每 100 行创建一个 sql 插入语句

DataGrip 只执行前 19 行 SQL 查询

以编程方式运行查询并将其导出为 DataGrip 中的 CSV 文件

在 Datagrip 中将 Snowflake 数据库连接到 R 和 Python