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

SQL Runner permet d'accéder directement à votre base de données et d'exploiter cet accès de différentes manières. Avec SQL Runner, vous pouvez facilement parcourir les tables de votre schéma, utiliser une exploration ad hoc à partir d'une requête SQL, exécuter des requêtes descriptives pré-écrites sur vos données, consulter votre historique SQL Runner, télécharger les résultats, partager des requêtes, ajouter des éléments à un projet LookML en tant que table dérivée et 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 de votre base de données pour une requête avec l'instruction EXAMINE et utiliser SQL Runner pour obtenir des informations sur votre base de données. Consultez ces autres pages de documentation pour en savoir plus sur les sujets suivants:

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 Database (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 apporter des modifications au schéma (par exemple, créer, supprimer et modifier) et modifier des données (telles que l'insertion, la mise à jour et la suppression). La prise en charge des instructions LDD et LMD est variable selon les dialectes SQL. Consultez la documentation de votre base de données pour savoir quelles instructions sont prises en charge.

Looker ne contrôle pas les instructions SQL qu'un utilisateur est autorisé à exécuter sur votre base de données. Les utilisateurs de Looker disposant de l'autorisation use_sql_runner ont accès à SQL Runner, mais SQL Runner ne restreint pas les commandes qu'ils peuvent exécuter. Si l'administrateur de votre base de données souhaite empêcher les utilisateurs de l'exécuteur SQL de modifier le schéma de la base de données, il doit configurer les autorisations des utilisateurs pour la base de données elle-même.

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. (Consultez la documentation de votre dialecte de base de données pour connaître la compatibilité et la syntaxe des instructions LDD et LMD.)
  4. Cliquez sur Exécuter pour exécuter l'instruction sur votre base de données.

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

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, 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 et cliquez sur l'onglet SQL de la zone Données pour afficher la commande SQL de la requête.
  2. Dans l'onglet SQL de l'exploration, cliquez sur le bouton Explain in SQL Runner (Expliquer dans SQL Runner).

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

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

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

Les informations exactes et le format de la réponse EXPLAIN dépendent de votre dialecte spécifique. Consultez la documentation de votre dialecte pour en savoir plus.

Dans l'exemple MySQL précédent, la fonction EXPLAIN renvoie la liste des étapes effectuées par la base de données pour exécuter la requête. Cela peut être utile pour les requêtes dont l'exécution semble lente, car votre base de données peut analyser un tableau entier dans une requête, alors que la table pourrait peut-être utiliser un index pour améliorer les performances.

Pour obtenir un exemple détaillé d'utilisation de EXPLAIN dans SQL Runner pour optimiser SQL, consultez le post de la communauté How to Optimize SQL with EXPLAIN (Comment optimiser SQL avec EXPLAIN).

Obtenir des informations sur votre base de données

L'onglet Database (Base de données) de SQL Runner dispose d'un ensemble d'outils pour vous donner un aperçu de votre base de données.

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

Lorsque vous choisissez une connexion dans SQL Runner, Looker affiche le dialecte de base de données correspondant à cette connexion à droite de la bannière SQL QUERY (Requête SQL). Si vous avez accédé à SQL Runner en sélectionnant Ouvrir dans SQL Runner ou Explain in SQL Runner, Looker présélectionne la connexion qui vous convient et affiche le dialecte de base de données de la connexion.

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

  • Sélectionnez l'option Show Processes (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 Refresh Schemas & Tables (Actualiser les schémas et les tables) pour renseigner à nouveau le volet 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 dans les projets publics, en fonction de l'option actuellement sélectionnée.

  • Sélectionnez Refresh Schemas & Tables (Actualiser les schémas et les tables) pour renseigner à nouveau le volet de navigation de gauche de SQL Runner avec les schémas et les tables figurant dans la base de données.
  • Lorsque les projets disponibles sont affichés, 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 les 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 tables BigQuery spécifiques à la connexion dans le volet de navigation de gauche de SQL Runner.

Effectuer des recherches dans votre base de données

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

La recherche SQL Runner parcourt les noms de toutes les tables et colonnes de table qui contiennent la chaîne du champ de recherche. Dans la figure suivante, "airport_name" est une colonne et "airport_remarks" est une table.

Cliquez sur l'un des résultats de recherche pour accéder à cet élément 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 (Précache dans l'exécuteur SQL) 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'une table pour afficher les champs qu'elle contient.

SQL Runner comporte des requêtes pré-écrites pour vous aider à comprendre vos données. Pour utiliser ces requêtes, cliquez sur l'icône en forme de roue dentée qui apparaît à côté du nom d'un tableau ou d'une colonne de tableau, puis sélectionnez la requête souhaitée. Looker génère automatiquement le code SQL dans la section Requête SQL, et la requête est exécutée.

Les requêtes disponibles varient selon le dialecte de base de données.

Informations sur la table

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

  • Explorer la table: ouvre un nouvel onglet de navigateur et une exploration Looker de la table.
  • Décrire: affiche les noms des colonnes dans la table sous-jacente ainsi que leur type de données.
  • Afficher les index: affiche des informations sur la manière dont le tableau est indexé.
  • Sélectionner 10 éléments: renvoie une requête sur les dix premières lignes de la table. C'est un bon moyen d'avoir une idée de ce à quoi ressemblent réellement les données.
  • Count: renvoie une requête count(*) simple pour obtenir le nombre total de lignes de la table.

Informations sur les colonnes

Cliquez sur le nom d'une table pour afficher ses colonnes. Looker affiche les options suivantes lorsque vous cliquez sur l'icône en forme de roue dentée à côté d'un nom de colonne:

  • Valeurs les plus courantes: renvoie une requête sur les valeurs les plus courantes de cette colonne de table, ainsi que le décompte du nombre de fois où cette valeur est présente dans la colonne.
  • Nombre approximatif et distinct: affiche le nombre approximatif de valeurs distinctes trouvées dans la colonne.

Obtenir des informations sur le type de données d'une colonne

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

  1. Dans SQL Runner, sélectionnez la connexion à la base de données dans la liste déroulante Connexion.
  2. Sélectionnez le schéma dans la liste déroulante Schema (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 sur votre base de données. Cliquez sur un tableau pour afficher les colonnes qu'il contient.
  4. Chaque nom de colonne est associé à une icône pour représenter le type de données. Pointez sur le nom d'une colonne pour voir 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 sélectionnées dans les menus de table et de roue dentée des champs.

Par exemple, vous pouvez utiliser la requête Count de l'exécuteur SQL pour charger une commande de comptage de base pour une base de données, puis modifier la requête SQL. Ainsi, 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

Comme la requête est triée en fonction du nombre de lignes 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 nombre de 1 pour chaque valeur id, id serait probablement la clé primaire de cette table. Toutefois, cette requête ne spécifie que les lignes de la table au moment de l'exécution de la requête. Étant donné que les futures insertions dans la base de données risquent de disqualifier id en tant que clé primaire, nous vous recommandons d'appliquer des restrictions à votre base de données pour vous assurer que vos clés primaires sont uniques.