Gérer les fonctions de base de données avec SQL Runner

SQL Runner vous permet d'accéder directement à votre base de données et d'utiliser cet accès de différentes manières. SQL Runner vous permet de parcourir les tables de votre schéma, d'utiliser une exploration ad hoc à partir d'une requête SQL, d'exécuter des requêtes descriptives prédéfinies sur vos données, de consulter votre historique SQL Runner, de télécharger des résultats, de partager des requêtes, d'ajouter une table dérivée à un projet LookML et d'effectuer d'autres tâches utiles.

Cette page explique comment modifier le schéma et les données de votre base de données à l'aide de SQL Runner, afficher le plan d'exécution d'une requête de votre base de données avec l'instruction EXAMINE et utiliser SQL Runner pour obtenir des informations sur votre base de données. Pour en savoir plus, consultez les pages de documentation suivantes :

Modifier le schéma et les données de la base de données

En plus d'exécuter des requêtes sur votre base de données, l'onglet Base de données de SQL Runner vous permet d'exécuter des instructions LDD (langage de définition de données) et LMD (langage de manipulation de données) sur votre base de données. Vous pouvez utiliser SQL Runner pour modifier le schéma (créer, supprimer et modifier) et les données (insérer, mettre à jour et supprimer). Les dialectes SQL offrent une compatibilité variable avec les instructions LDD et LMD. Consultez la documentation de votre base de données pour connaître les instructions compatibles.

Pour exécuter une instruction LDD ou LMD sur votre base de données dans SQL Runner, procédez comme suit :

  1. Accédez à SQL Runner.
  2. Dans SQL Runner, cliquez sur l'onglet Base de données.
  3. Saisissez l'instruction LDD ou LMD dans la zone Requête de l'exécuteur SQL. (Pour en savoir plus sur la compatibilité et la syntaxe des instructions LDD et LMD, consultez la documentation de votre dialecte de base de données.)
  4. Cliquez sur Exécuter pour exécuter l'instruction sur votre base de données.

Si l'instruction est exécutée avec succès sur votre base de données, une confirmation s'affiche dans la zone Résultats de SQL.

Examiner un plan d'exécution à l'aide de EXPLAIN

En plus d'exécuter des requêtes SQL sur votre base de données, vous pouvez utiliser SQL Runner pour exécuter une fonction EXPLAIN pour une requête. La fonction EXPLAIN, qui est compatible avec la plupart des dialectes SQL, renvoie le plan d'exécution de la base de données pour une requête.

  1. Dans une exploration, exécutez une requête, puis cliquez sur l'onglet SQL de la section Données pour afficher la commande SQL de la requête.
  2. Dans l'onglet SQL de l'exploration, cliquez sur le bouton Expliquer dans l'exécuteur SQL.

    Looker ouvre l'exécuteur SQL et charge la requête dans une fonction EXPLAIN.

  3. Dans SQL Runner, cliquez sur Exécuter pour exécuter la fonction EXPLAIN.

  4. Affichez le résultat de la fonction EXPLAIN.

Les informations et le format exacts de la réponse EXPLAIN dépendent de votre dialecte spécifique. Vous devez donc consulter la documentation de votre dialecte pour en savoir plus.

Dans l'exemple MySQL précédent, la fonction EXPLAIN renvoie la liste des étapes suivies par la base de données pour exécuter la requête. Cela peut être utile pour les requêtes qui semblent lentes à exécuter. Vous constaterez peut-être que votre base de données analyse une table entière dans une requête, alors que la table pourrait utiliser un index pour améliorer les performances.

Pour obtenir un exemple détaillé d'utilisation de EXPLAIN dans SQL Runner afin d'optimiser le code SQL, consultez l'article de la communauté How to Optimize SQL with EXPLAIN (Optimiser le code SQL avec EXPLAIN).

Obtenir des informations sur votre base de données

L'onglet Base de données de SQL Runner contient de nombreux outils qui vous permettent d'obtenir des informations sur votre base de données.

Obtenir des informations sur la connexion à la base de données

Lorsque vous choisissez une connexion dans SQL Runner, Looker affiche le dialecte de la base de données pour cette connexion à droite de la bannière REQUÊTE SQL. Si vous avez accédé à SQL Runner en sélectionnant Ouvrir dans l'exécuteur SQL ou Expliquer dans SQL Runner, Looker présélectionne la connexion appropriée pour vous et affiche le dialecte de base de données de la connexion.

Cliquez sur le menu en forme de roue dentée de la connexion pour obtenir plus d'options pour la connexion à la base de données :

  • Sélectionnez l'option Afficher les processus pour afficher des informations sur les requêtes et les processus en cours d'exécution sur la connexion.
  • Sélectionnez l'option Actualiser les schémas et les tables pour remplir à nouveau le panneau de navigation de gauche de SQL Runner avec les schémas et les tables de la base de données.

Options du menu en forme de roue dentée de BigQuery

Lorsque vous choisissez une connexion BigQuery compatible avec plusieurs bases de données, Looker affiche des options spécifiques au dialecte dans le menu en forme de roue dentée. L'élément de menu bascule entre Afficher les projets disponibles et Rechercher des projets publics, selon l'option sélectionnée.

  • Sélectionnez Actualiser les schémas et les tables pour remplir à nouveau le panneau de navigation de gauche de SQL Runner avec les schémas et les tables de la base de données.
  • Lorsque les projets disponibles s'affichent, une option de menu en forme de roue dentée permet de rechercher des projets publics. Sélectionnez cette option pour rechercher des ensembles de données publics qui ne sont pas visibles dans le schéma d'informations.
  • Lorsque des projets publics sont affichés, une option de menu en forme de roue dentée permet d'afficher les projets disponibles. Sélectionnez cette option pour rétablir l'affichage des projets et des tables BigQuery spécifiques à la connexion dans le volet de navigation de gauche de SQL Runner.

Rechercher dans votre base de données

SQL Runner affiche un champ de recherche sous le schéma sélectionné (ou ensemble de données pour les connexions Google BigQuery).

La recherche SQL Runner parcourt les noms de toutes les tables et colonnes de table contenant la chaîne saisie dans le champ de recherche. Dans la figure ci-dessous, "airport_name" est une colonne et "airport_remarks" est une table.

Cliquez sur l'un des résultats de recherche pour accéder à l'élément correspondant dans SQL Runner.

Obtenir des informations sur la table

Par défaut, SQL Runner précharge toutes les informations de la table lorsque vous sélectionnez une connexion et un schéma. Pour les connexions comportant de nombreuses tables ou des tables très volumineuses, un administrateur peut désactiver ce comportement en désélectionnant l'option SQL Runner Precache sur la page Connexions.

Le panneau de navigation de gauche de SQL Runner vous permet de parcourir les schémas et les tables de vos connexions. Sélectionnez une connexion et un schéma pour afficher toutes les tables de ce schéma. Cliquez sur le nom d'un tableau pour afficher les champs qu'il contient.

SQL Runner propose des requêtes prédéfinies pour vous aider à comprendre vos données. Pour utiliser ces requêtes, cliquez sur l'icône en forme de roue dentée qui s'affiche à côté du nom d'une table ou d'une colonne de table, puis sélectionnez la requête que vous souhaitez exécuter. Looker génère automatiquement le code SQL dans la section Requête SQL, puis exécute la requête.

Les requêtes disponibles varient en fonction du dialecte de la base de données.

Informations sur la table

Lorsque vous cliquez sur l'icône en forme de roue dentée à côté du nom d'un tableau, Looker affiche les options suivantes :

  • Explorer le tableau : ouvre un nouvel onglet de navigateur vers une exploration Looker du tableau.
  • Décrire : affiche les noms des colonnes du tableau sous-jacent ainsi que leurs types de données.
  • Afficher les index : affiche des informations sur l'indexation de la table.
  • Sélectionner 10 : renvoie une requête des dix premières lignes du tableau. C'est un bon moyen de se faire une idée de l'apparence réelle des données.
  • Nombre : renvoie une requête count(*) simple pour obtenir le nombre total de lignes du tableau.

Informations sur les colonnes

Cliquez sur le nom d'une table pour afficher les colonnes qu'elle contient. Lorsque vous cliquez sur l'icône en forme de roue dentée à côté du nom d'une colonne, Looker affiche les options suivantes :

  • Valeurs les plus fréquentes : renvoie une requête des valeurs les plus fréquentes pour cette colonne de tableau, ainsi que le nombre de fois où cette valeur est trouvée dans la colonne.
  • Nombre approximatif de valeurs distinctes : affiche un nombre approximatif de valeurs distinctes trouvées dans la colonne.

Obtenir des informations sur le type de données des colonnes

Vous pouvez utiliser SQL Runner pour obtenir des informations sur le type de données des colonnes en procédant comme suit :

  1. Dans SQL Runner, sélectionnez la connexion à la base de données dans le menu déroulant Connexion.
  2. Sélectionnez le schéma dans le menu déroulant Schéma. (Pour les connexions BigQuery, sélectionnez Projet et Ensemble de données.)
  3. SQL Runner affiche la liste des tables de ce schéma dans votre base de données. Cliquez sur un tableau pour afficher ses colonnes.
  4. Chaque nom de colonne est associé à une icône représentant le type de données. Pointez sur un nom de colonne pour afficher le type de données qu'elle contient.

Modifier les requêtes SQL prédéfinies

Vous pouvez modifier n'importe quelle requête SQL dans la zone Requête, y compris les requêtes SQL prédéfinies choisies dans les menus en forme de roue dentée des tables et des champs.

Par exemple, vous pouvez utiliser la requête Count de SQL Runner pour charger une commande de décompte de base pour une base de données, puis modifier la requête SQL. Par conséquent, si vous pensez que la colonne id de la table public.users peut être une clé primaire, vous pouvez vérifier qu'il n'y a pas de valeurs en double en modifiant la requête de décompte comme suit :

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

Étant donné que la requête est triée par nombre avant que les résultats ne soient limités à 10 lignes, les résultats incluront les valeurs de nombre les plus élevées. Si cette requête renvoie un décompte de 1 pour chaque valeur id, id est probablement la clé primaire de cette table. Toutefois, cette requête ne spécifie que les lignes de la table lors de l'exécution de la requête. Étant donné que de futures insertions dans la base de données peuvent disqualifier id en tant que clé primaire, nous vous recommandons d'implémenter des restrictions dans votre base de données pour vous assurer que vos clés primaires sont uniques.