Как быстро сгенерировать инструкцию SELECT для таблицы в DataGrip?

В Microsoft SQL Server Management Studio (SSMS) вы можете щелкнуть правой кнопкой мыши по таблице, а затем перейти к Script Table asSELECT To, а затем выбрать пункт назначения для сгенерированного script.

Есть ли что-то подобное в DataGrip, или можно каким-то образом создать пользовательскую структуру?

Причина, по которой я нахожу это полезной, заключается в том, что часто обнаруживаю, что я работаю с таблицей с большим количеством столбцов, и я хочу выбрать все, кроме нескольких из них. Поэтому проще просто сгенерировать оператор SELECT со всеми явно указанными столбцами, чтобы я мог просто пройти и удалить те, которые мне не нужны.

В настоящее время моим обходным решением в DataGrip является щелчок правой кнопкой мыши по таблице, затем выберите Copy DDL. Это генерирует оператор CREATE TABLE, в котором перечислены все столбцы, но также включает определения столбцов. Поэтому я должен сделать регулярное выражение, заменить или запустить макрос, чтобы избавиться от дополнительной информации, что является видом боли. У кого-нибудь есть лучшее решение?

Ответ 1

В DataGrip, как и другие встроенные IDE, все связано с редактированием исходного кода. Таким образом, это может быть достигнуто следующим образом:

  • Открыть консоль
  • Начните вводить sel, вы получите всплывающее окно завершения (если нет, нажмите Ctrl+Space)
  • Выберите sel здесь, который является live-template для оператора 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: enter image description here