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

31
在Microsoft SQL Server Management Studio(SSMS)中,您可以右键单击表,然后转到 Script Table as -> SELECT To ,然后选择生成脚本的目标位置。
在DataGrip中是否有类似的功能,或者可以以某种方式自定义创建?
我发现这很有用的原因是,我经常发现自己在使用具有许多列的表,并且我想选择除少数列之外的所有列。 因此,更容易的方法是生成带有显式列列表的SELECT语句,以便我可以浏览并删除不需要的列。
目前,在DataGrip中我的解决方法是右键单击该表,然后选择复制DDL。 这将生成CREATE TABLE语句,其中列出了所有列,但它还包括列定义。 因此,我必须运行正则表达式替换或运行宏来消除额外的信息,这有点麻烦。 是否有更好的解决方案?

你可以通过查询系统表来编写脚本实现这种行为。 - Horaciux
对于那些只想快速预览表格的人,https://www.stackoverflow.com/questions/38742700 提供了一个可接受的解决方案。 - krismath
2个回答

53
在DataGrip中,与其他基于IntelliJ的IDE一样,一切都关乎源代码编辑。实现方法如下:
  • 打开控制台
  • 开始输入 sel,将出现自动完成弹窗(如果没有,按下 Ctrl+Space
  • 选择其中的 sel,这是用于选择语句的生活模板
  • 生成一个选择语句,询问表名和列列表 enter image description here
  • 从自动完成中选择所需的表,并且作为列列表提供 *
  • 然后在星号上按下 Alt+Enter,选择 Expand column list enter image description here
我建议您查看 https://www.jetbrains.com/datagrip/features/

17
在DataGrip 2018.3中,您可以使用后缀完成。这是获取所需查询的灵活方式。
尝试键入:
SELECT %table_name%.from
SELECT %table_name%.afrom
SELECT %table_name%.join

这将扩展到所需的查询。在from完成的情况下,您将能够编写列。

这使得编写SQL更加合乎逻辑:首先指定表,然后是列。

请参见gif:enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接