26

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

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

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

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

4

2 回答 2

46

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

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

我建议您查看https://www.jetbrains.com/datagrip/features/

于 2017-01-09T06:56:05.383 回答
15

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

尝试输入

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

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

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

见动图: 在此处输入图像描述

于 2018-12-13T09:35:13.247 回答