web-dev-qa-db-fra.com

Comment générer rapidement une instruction SELECT pour une table dans DataGrip?

Dans Microsoft SQL Server Management Studio (SSMS), vous pouvez cliquer avec le bouton droit sur une table, puis aller à Script Table as -> SELECT To, puis choisissez une destination pour le script généré.

Existe-t-il quelque chose de similaire dans DataGrip, ou peut-on en créer un d'une manière ou d'une autre?

La raison pour laquelle je trouve cela utile, c'est parce que je trouve souvent que je travaille avec une table avec beaucoup de colonnes et que je veux en sélectionner toutes sauf quelques-unes. Il est donc plus facile de simplement générer l'instruction SELECT avec toutes les colonnes explicitement répertoriées, afin que je puisse simplement parcourir et supprimer celles dont je ne veux pas.

Actuellement, ma solution dans DataGrip consiste à cliquer avec le bouton droit sur la table, puis à choisir Copy DDL. Cela génère l'instruction CREATE TABLE, qui répertorie toutes les colonnes, mais inclut également les définitions de colonne. Je dois donc faire un regex remplacer ou exécuter une macro pour se débarrasser des informations supplémentaires, ce qui est une sorte de douleur. Quelqu'un at-il une meilleure solution?

19
Travesty3

Dans DataGrip comme les autres IDE basés sur Intellij, tout est question de modification de source. Cela peut donc être réalisé de cette façon:

  • Console ouverte
  • Commencez à taper sel, vous obtiendrez une fenêtre de complétion (sinon, appuyez sur Ctrl+Space)
  • Sélectionnez sel ici, qui est un modèle en direct pour l'instruction select
  • Une instruction Select sera générée, demandant le nom de la table et la liste des colonnes enter image description here
  • Sélectionnez le tableau souhaité à la fin, car la liste des colonnes fournit *
  • Appuyez ensuite sur Alt+Enter sur l'astérisque et sélectionnez Expand column listenter image description here

Je vous suggère de regarder à travers https://www.jetbrains.com/datagrip/features/

35
kassak

Dans DataGrip 2018.3, vous pouvez utiliser l'achèvement du suffixe . C'est le moyen flexible d'obtenir les requêtes nécessaires.

Essayez de taper

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

Et cela sera étendu aux requêtes nécessaires. Dans le cas de l'achèvement de from, vous pourrez écrire des colonnes.

Cela rend l'écriture SQL plus logique: d'abord, vous pointez la table, puis les colonnes.

Voir gif: enter image description here

5
moscas