Exécuter des requêtes

Console de requête

D'après notre expérience, la console de requête est le meilleur endroit pour écrire du code SQL courant au quotidien. Chaque source de données possède sa propre console par défaut. Pour l'ouvrir, allez dans le menu contextuel et cliquez sur Open Console. Ou utilisez le raccourci F4.

Vous pouvez écrire du SQL ici, puis l'exécuter et obtenir le résultat ! C'est aussi simple que cela.

Si vous souhaitez créer une autre console pour une source de données, cela est également possible : Context menu → New → Console

Sélecteur de schéma

Créez plusieurs consoles pour gérer de nombreuses requêtes en même temps. Chaque console dispose d'un sélecteur de base de données/schéma. Si vous travaillez avec PostgreSQL, définissez ici le chemin de recherche.

Exécuter la sélection

Sélectionnez du code et exécutez uniquement cette sélection. Notez que la requête sélectionnée est exécutée telle quelle : DataGrip envoie simplement cette chaîne à la base de données et obtient le résultat. Cela peut être utile lorsque l'IIDE détecte incorrectement des erreurs dans les requêtes.

Options d'exécution

DataGrip propose des options intelligentes pour l'exécution de requêtes. Lorsque le curseur se trouve à l'intérieur d'une requête, l'exécution peut être personnalisée avec plusieurs options possibles. Définissez son comportement prévu : exécuter la plus petite instruction, la plus grande instruction, vous demander de choisir ce qu'il faut exécuter ou exécuter tout le script.

 

De plus, vous avez aussi accès à des actions Execute. Modifiez le comportement et attribuez des raccourcis : ils sont complètement indépendants. Par exemple, vous pouvez créer une action qui exécutera tout le script, sans avoir à choisir la requête exacte dans ce dernier.

Voici comment cela fonctionne.

Mode lecture seule

La lecture seule peut être activée dans les propriétés de la source de données. En réalité, cela active deux modes de lecture seule en même temps : le mode lecture seule dans le jdbc-driver correspondant et le mode lecture seule au niveau de l'IDE.

Le mode lecture seule du Jdbc-driver refusera d'exécuter des requêtes de modification dans MySQL, PostgreSQL, AWS Redshift, H2 et Derby. Dans d'autres SGBD, il ne fait rien.

C'est pourquoi nous avons un mode lecture seule au niveau de l'EDI. Il est activé en même temps que celui au niveau du jdbc. Ainsi, en mode lecture seule, chaque requête DDL ou DML est soulignée. Si vous l'exécutez, un avertissement est affiché. Il est possible d'appuyez sur Execute dans cette barre si vous êtes sûr de ce que vous faites.

Nous indexons aussi maintenant le code source des fonctions et des procédures, et construisons une arborescence des appels en arrière-plan. Cela signifie que si une fonction exécute une autre fonction (répète n fois) qui exécute des instructions DDL ou DML, un autre avertissement sera affiché.

Contrôle de transaction

Définissez le type de contrôle de transaction que vous voulez utiliser lorsque vous travaillez avec une source de données spécifique. Cette option est disponible dans les propriétés des sources de données. En mode Auto, vous n'avez pas besoin de valider les transactions en exécutant l'instruction commit, alors qu'en mode Manual, vous devez bien entendu le faire.

Évaluer l'expression

Cela vous aide à voir les données sans avoir à écrire une requête à la console. Dans d'autres IDE basés sur IntelliJ, Ctrl+Alt+F8 sur un objet vous fournit une évaluation rapide. Dans DataGrip, appelez-la sur une table dans une requête pour voir les données ladite table. Ctrl+Alt+F8 sur le nom d'une colonne affiche les valeurs de cette colonne dans le jeu de résultats attendus. Si vous invoquez la même évaluation rapide sur le mot clé d'une requête (ou sous-requête), la fenêtre contextuelle vous montre le résultat. Notez que Alt+Clic fonctionne également pour cela.

Historique des requêtes d'exécution

Vous trouverez un bouton sur la barre d'outils de chaque console : . Appuyez dessus pour voir l'historique de toutes les requêtes exécutées contre cette source de données. La recherche rapide fonctionne aussi !

N'oubliez pas non plus l'historique local de chaque fichier.

Journal SQL complet

Concrètement, toutes les requêtes de l'IDE sont enregistrées dans un fichier texte. Pour ouvrir ce fichier, allez dans Help | Show SQL log.

Exécution des procédures stockées

DataGrip peut générer le code pour exécuter des procédures stockées. Ajoutez les valeurs des paramètres dont vous avez besoin et cliquez sur OK.

Notez que vous pouvez exécuter la procédure en cliquant sur le bouton Run de la barre d'outils lorsque vous ouvrez le code source. Ou utilisez simplement Execute… depuis le menu contextuel de la procédure, dans l'arborescence de la base de données.

Requêtes non sécurisées

DataGrip affiche une mise en garde si vous utilisez l'instruction DELETE ou UPDATE sans clause WHERE.

Plan d'exécution

Un plan d'exécution d'instructions représente visuellement les opérations que la base de données effectue afin de restituer les données requises par votre requête. Il vous aide à optimiser cette dernière.

 

Graphiquement, le plan peut être présenté sous forme de tableau ou de diagramme.

Paramètres utilisateur

Lorsque vous obtenez une requête SQL d'une autre application, elle peut être paramétrée. DataGrip prend en charge l'exécution de ce type de requêtes.

L'interface permettant d'éditer les modèles de paramètres est disponible dans Settings/Preferences → Database → User Parameters. Les expressions régulières sont mises en évidence et vous pouvez choisir le dialecte dans lequel ces modèles sont valides.

Vue structure

Pour chaque console ou fichier SQL, vous disposez d'une fenêtre contextuelle dans laquelle toutes les instructions sont envoyées en tant que structure. Vous pouvez exécuter des requêtes uniquement à partir de cette fenêtre contextuelle Structure (Ctrl+F12 ), ce qui vous sera utile si vous devez en exécuter plusieurs dans un grand script.

Résultat de requête

Jeu de résultats

Dans DataGrip, le jeu de résultats peut être modifié, de sorte que vous pouvez changer les données renvoyées après avoir exécuté une requête. Cela est similaire à l'éditeur de données, avec les mêmes options disponibles dont l'auto-validation, l'ajout ou la suppression de lignes, la recherche de texte et la navigation de données.

Comparer des résultats

Deux jeux de résultats peuvent être comparés dans Diff Viewer. DataGrip met en évidence les différences et vous permet de gérer les critères de comparaison via le paramètre Tolerance. Par exemple, si vous voulez considérer deux lignes comme égales même si leurs données diffèrent dans une seule colonne, saisissez la valeur correspondante dans le champ Tolerance. N'importe quelle colonne peut être exclue de la comparaison, si nécessaire.

Cliquez sur le bouton Compare dans la barre d'outils du résultat et choisissez avec quel autre jeu de résultats vous voulez le comparer.

Les onglets de résultats peuvent être nommés

Une fonctionnalité pratique pour les résultats : le nommage des onglets ! Utilisez simplement le commentaire avant la requête.

Si vous voulez convertir seulement certains commentaires en noms d'onglets, utilisez le champ Treat text as title after dans les paramètres pour spécifier le mot du préfixe. Ensuite, seuls les mots venant après ce mot seront utilisés en tant que titres.

Il est facile de changer la taille de la page

Pour définir le nombre de règles à extraire de la base de données, vous pouvez passer par la barre d'outils du jeu de résultats.