在数据胶质中查询书
人们经常问我们:
-你有查询本吗?我有无数的查询,我运行一次又一次。我想要存储它们,并且能够在我想要的时候调用它们中的任何一个。
有一个问题在我们的DataGrip问题跟踪器中为此功能。
虽然我们没有一个特别命名的功能查询书,我们相信你可以使用DataGrip来满足这些需求的大部分:Live模板;运行配置;所有查询的一个文件;单独查询文件。我们来看看他们。
活模板
一般来说,活模板是为只需要使用一小段代码的情况创建的。它们包含一个变量机制,所以你的模板可以比你要运行的查询更通用。以下是它们的工作原理:
但是没有什么可以阻止您在模板中添加任何查询!每个活模板都有自己的缩写-只需键入它并按下选项卡粘贴代码。例如,显示人员列表的查询有缩写' slist ':
您可以在定义的任何上下文中调用此模板。此外,您可以为不同的SQL方言创建不同的实现,因此模板缩写将根据您正在处理的数据库粘贴不同的查询。
的快捷方式Cmd / Ctrl + J打开Live模板列表。此列表很有用,因为您不仅可以使用缩写,还可以使用描述来搜索这里,这意味着您可以将模板命名,然后按这些名称搜索。
优点:
- 它们快速:在任何上下文中都可以轻松调用实时模板。
- 变量机制使得可以使用更通用的方法。
- 查询可能因方言而异。
- 搜索整个名称和描述。
- 查询可以参数化。
缺点:
- 您不能在实际的模板代码中进行搜索。
- 很难共享,不可能在整个团队中有同步源。
- 对于大型脚本不实用。
运行配置
这是一个概念数据借用了其他基于Intellij的IDES。一般来说,如果您想运行内容,只需为它创建一个配置。在数据库的上下文中,这个“某事”是您的SQL脚本。
有两种类型的运行配置:脚本文本和脚本文件。
脚本文本
在这种情况下,run配置执行硬编码到这个特定配置中的脚本。您将查询粘贴到那里,添加目标模式或多个目标,并保存配置。
脚本文件
运行配置可以由一个或多个脚本文件组成。您可以从“编辑配置”UI中添加这些文件,或从上下文菜单中创建新文件的新文件。
文件中可以找到保存的运行配置导航酒吧和运行菜单。
默认情况下,对于每个配置,DataGrip在运行之前都会显示Edit窗口。但是这个步骤可以通过取消显示这一页复选框。如果你检查存储为项目文件,配置可以与项目一起共享。
要运行任何配置,请调用运行按压弹出Ctrl + Alt + R(Alt + Shift + F10),选择所需的配置(搜索工作),并运行它。就是这样!
优点:
- 无需切换当前上下文。
- 适用于大型和复合脚本。
- 搜索整个名字。
- 可以保存为项目项目并以这种方式共享。
缺点:
- 无法显示数据:它不适合使用SELECT语句的脚本。
- 不能搜索整个配置的代码。
一个单一的文件
将您喜爱的查询存储在单个文件中,听起来像一个文件的声音,但DataGrip提供了如此多的功能来与代码一起使用,这可能是一个很好的方法!例如,我们命名这个文件QueryBook.sql。
首先,将所有查询打包地区评论,如屏幕截图所示。
这将允许您在使用结构视图中搜索这些描述Ctrl / Cmd + F12.不要忘记标记工具栏中的所有复选框。
总的来说,您的查询书已经准备好了!当你需要查询时,你可以这样运行它:
- 调用去文件通过Ctrl + Shift + N / Cmd + Shift + O
- 输入' qubo '并按进入.我们相信在99%的情况下,这将带您到QueryBook。sql文件
- 找到所需的查询。您可以按名称搜索 -Ctrl / Cmd + F12和键入名称。或者您可以按源代码搜索 -Ctrl / Cmd + F会完成这项工作的!
- 执行查询。
该文件只能附加到一个会话,因此如果需要切换会话或数据源,请手动操作。
如果使用多个数据库供应商,请为每个数据库供应商创建单独的文件。
优点:
- 这是项目的一部分。
- 可以通过版本控制系统共享。
- 可以在其他ide中轻松使用。
- 搜索整个源代码。
- 搜索整个名字。
- 查询可以参数化。
缺点:
- 需要手动切换会话和数据源。
- 需要切换上下文。
- 调用查询需要批量单击。
几个文件
这类似于前面的方法,但是我们不是将所有查询放入一个文件中,而是将每个查询放入一个专用的文件中。这些文件可以存储在一个专用的文件夹中,例如命名为QueryBook.
不需要在每次运行查询时切换会话或数据源:它是为文件设置的,也就是说,为查询设置的。
更快的导航:在去文件弹出窗口只需使用所需查询输入文件的名称。
可以在查询书的源代码内搜索找到的文件机制。您需要做的就是添加范围查询书,其中将包括该文件夹QueryBook.然后按Ctrl / Cmd + Shift + F,选择范围查询书,搜索!
优点:
- 这是项目的一部分。
- 可以通过版本控制系统共享。
- 可以在其他IDE中轻松使用。
- 搜索整个源代码。
- 搜索整个名字。
- 每次查询都会保存会话和数据源。
- 查询可以参数化。
缺点:
- 需要切换上下文。
就是这样!我个人最喜欢实时模板:它们速度快,你不需要切换上下文,而且它们是广泛可定制的。你更喜欢哪一个?您是否有一个这些变体都没有覆盖的用例?请让我们知道。