如何在DataGrip中为表快速生成SELECT语句?

时间:2017-01-06 17:44:29

标签: sql sql-server datagrip

在Microsoft SQL Server Management Studio(SSMS)中,您可以右键单击表格,然后转到Script Table as - > SELECT To,然后为生成的脚本选择目标。

DataGrip中是否有类似内容,或者可以通过某种方式自定义创建?

我发现这个有用的原因是因为我经常发现我正在使用一个包含大量列的表,我想要选择除了少数几个之外的所有列。因此,让它更容易生成SELECT语句,并明确列出所有列,这样我就可以直接删除那些我不想要的列。

目前,我在DataGrip中的解决方法是右键单击该表,然后选择Copy DDL。这将生成CREATE TABLE语句,该语句列出所有列,但它还包括列定义。所以我必须做一个正则表达式替换或运行一个宏来摆脱额外的信息,这是一种痛苦。有没有人有更好的解决方案?

2 个答案:

答案 0 :(得分:30)

在DataGrip中,与其他基于intellij的IDE一样,一切都与源编辑有关。这样就可以实现:

  • 打开控制台
  • 开始输入sel,您将获得完成弹出窗口(如果没有,请点击Ctrl+Space
  • 在此处选择sel,这是select语句的实时模板
  • 将生成Select语句,询问表名和列列表enter image description here
  • 从完成中选择所需的表格,列列表提供*
  • 然后点击星号上的Alt+Enter并选择Expand column list enter image description here

我建议你仔细查看https://www.jetbrains.com/datagrip/features/

答案 1 :(得分:2)

在DataGrip 2018.3中,您可以使用后缀完成。这是获取所需查询的灵活方式。

尝试输入

SELECT %table_name%.from
SELECT %table_name%.afrom
SELECT %table_name%.join

这将扩展为所需的查询。如果完成from,则可以编写列。

这使编写SQL更具逻辑性:首先,指向表,然后指向列。

查看gif: enter image description here