运行查询

查询控制台

根据我们的经验,查询控制台是日常编写常规 SQL 的最佳位置。 每个数据源都有自己的默认控制台。 进入上下文菜单,然后 点击 Open Console 即可打开。 或使用快捷键 F4

可以在这里编写 SQL,然后运行并获得结果! 就是这么简单。

如果出于任何原因,您想为数据源创建另一个控制台,也可以通过:上下文菜单 → New → Console

方案切换器

创建多个控制台,同时管理大量查询。 每个 控制台都设有数据库/方案切换器。 如果您要处理 PostgreSQL ,那么请在这里定义 搜索路径。

执行选择

选择部分代码,并且只执行这些选定代码。 请注意,选中的查询会如常运行: DataGrip 只是把该字符串发送到数据库并获取结果。 当 IDE 错误地侦测到查询中 的错误时,该功能非常实用。

执行选项

DataGrip 提供执行查询的智能选项。 当光标位于查询中时,可以 通过 几个可能的选项自定义执行。 定义它的预期行为:执行 最小的 语句,最大的语句,询问您要执行的内容,或者执行 整个脚本。

 

此外,还有执行操作。 更改行为,分配快捷键:它们 是完全 独立的。 比如,您可以创建可以执行整个脚本的操作,而无需 从脚本中选择具体的查询。

这就它的工作原理。

只读模式

您可以在数据源的属性中开启只读。 实际上,它可以同时 开启两个只读模式:对应的 jdbc-driver 中的只读模式 和 IDE 级只读模式。

Jdbc-driver 只读模式将拒绝运行 MySQL、PostgreSQL、AWS Redshift、H2Derby 中的修改查询。 在 其他 DBMS 中,它不会执行任何操作。

所以我们提供了 IDE 级只读模式。 它与 jdbc 级只读模式 一起激活。 这样,在只读模式中,每个 DDL 或 DML 查询都会以下划线表示。 执行时将发出警告。 如果您自信操作没有问题,那么依然可以按下 这个栏上的执行

我们现在还会对函数和过程的源代码进行索引,并且在背景中构造 调用树。 这就是说,如果函数可以执行其他可以执行 DDL 或 DML 语句的函数 (重复 n 次),那么您也将看到警告。

事务控制

定义在处理特定数据源时,您希望使用哪种事务 控制。 该选项在数据源属性中可用。 在自动模式中,您 无需 提交执行提交语句的任何事务,但是在手动模式中,您 明显需要这样做。

计算表达式

这样一来,您无需向控制台写入查询,即可查看数据。 在其他 基于 IntelliJ 的 IDE 中, 在对象上按 Ctrl+Alt+F8 可以让您获得快速评估。 在 DataGrip 中, 在查询中的表格中调用它可以查看那个表中的数据。 在列名称中按 Ctrl+Alt+F8 将显示预期结果集中那个列 的值。 如果您调用查询(或子查询)的键盘上的同一个快速调用,弹出窗口 将为您显示结果。 请注意, Alt+Click 也适用于该情况。

运行查询的历史记录

在每个控制台的工具栏上有一个按钮:。 按下它可以查看该数据源运行的所有 查询的历史记录。 也可以使用快速搜索!

此外,别忘了每个文件的本地 历史记录

完整 SQL 日志

IDE 的所有查询均记录在文本文件中。 要打开该文件,请转到 Help | Show SQL log

运行存储的过程

DataGrip 可以为运行存储的过程生成代码。 放入您需要的参数值,然后点击确定

请注意,在打开源代码时,您可以通过点击工具栏上的运行按钮来运行过程。 或者使用数据库树中过程的上下文 菜单的执行...

不安全的查询

如果您使用了 DELETEUPDATE 语句但却没有使用 WHERE 子句,那么 DataGrip 会显示警告通知。

解释方案

一个语句执行方案将展示数据库要执行的操作,从而返回您的查询要求的数据。 它可以帮助您优化 查询。

 

方案可以以表格或图表的形式表示。

用户参数

当您从其他应用程序中获得 SQL 查询时,它可以添加参数。 DataGrip 支持运行这些类型的查询。

您可以在设置/偏好设置 → 数据库 → 用户参数中找到编辑参数模式 的 UI。 正则表达式会高亮显示,您可以选择模式有效的方言。

结构视图

对于每个控制台或 SQL 文件,您有一个弹出窗口,其中所有的语句将作为结构提交。 您可以从这个结构弹出窗口 (Ctrl+F12 ) 运行查询,当您需要在大脚本 中运行多个查询时很实用。

查询结果

结果集

在 DataGrip 中,结果集可以修改,您可以在执行查询后更改返回的 数据。 它与配有相同选项的数据编辑器类似,其中包括自动提交、添加/删除行、文本搜索和数据导航。

比较结果

您可以在差异查看器中比较两个结果集。 DataGrip 将高亮显示不同的地方,让您 通过 Tolerance 参数管理比较标准。 比如, 如果您决定如果两行中的数据只在一列中不同,就认为它们相等,那么请 在 Tolerance 字段中输入对应的值。 如有需要,可以将任何列从比较中 排除。

点击结果工具栏上的 Compare 按钮,然后选择想与之比较的另一个结果集。

可以命名结果标签页

另一个方便的功能:为标签页命名! 只需在查询前使用注释即可。

如果只想某些注释成为标签页名称,则使用设置中的 Treat text as title after 字段,以指定前缀词。 然后,只有在该前缀词 后面的单词 才作为标题。

很容易修改页的大小。

可以从结果集的工具栏定义要从数据库中检索的行数。