在 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 每 100 行创建一个 sql 插入语句