【问题标题】:How to quickly generate SELECT statement for a table in DataGrip?如何快速为 DataGrip 中的表生成 SELECT 语句?
【发布时间】:2017-05-21 13:06:57
【问题描述】:

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

DataGrip 中是否有类似的东西,或者可以以某种方式自定义创建?

我觉得这很有用的原因是因为我经常发现我正在处理一个包含很多列的表,并且我想选择除少数之外的所有列。因此,让它生成 SELECT 语句并明确列出所有列会更容易,这样我就可以遍历并删除我不想要的那些。

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

【问题讨论】:

  • 您可以编写此行为的脚本,只需查询系统表即可。
  • 对于那些只想快速预览表格的人,stackoverflow.com/questions/38742700 提供了一个可以接受的解决方案。

标签: sql sql-server datagrip


【解决方案1】:

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

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

建议你看一下https://www.jetbrains.com/datagrip/features/

【讨论】:

    【解决方案2】:

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

    尝试输入

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

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

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

    看gif:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 2017-02-14
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      相关资源
      最近更新 更多