Gérer les 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. SQL Runner vous permet de parcourir facilement 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é-écrites sur vos données, de consulter l'historique de l'exécuteur SQL, de télécharger les résultats, de partager des requêtes, d'ajouter des éléments à un projet LookML en tant que table dérivée 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 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 obtenir des informations sur:

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 l'exécuteur SQL 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 l'exécuteur SQL pour modifier le schéma (création, suppression et modification, par exemple) et modifier les données (insertion, mise à jour et suppression, par exemple). Les dialectes SQL ont une prise en charge variable des instructions LDD et LMD. Consultez la documentation de votre base de données pour savoir quelles instructions sont prises en charge.

Looker ne contrôle pas l'autorisation des instructions SQL qu'un utilisateur est autorisé à exécuter sur votre base de données. Les utilisateurs Looker disposant de l'autorisation use_sql_runner ont accès à SQL Runner, mais SQL Runner ne contrôle pas les commandes que l'utilisateur peut exécuter. Si votre administrateur de 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 utilisateur de 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 à l'exécuteur SQL.
  2. Dans l'exécuteur SQL, cliquez sur l'onglet Base de données.
  3. Saisissez l'instruction LDD ou LMD dans la zone de requête de l'exécuteur SQL. (Consultez la documentation de votre dialecte de base de données pour connaître la prise en charge et la syntaxe des instructions LDD et LMD.)
  4. Cliquez sur Run (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 Results (Résultats) 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 afin d'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, puis 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 l'exécuteur SQL).

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

  3. Dans l'exécuteur SQL, cliquez sur 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. Consultez la documentation de votre dialecte pour en savoir plus.

Dans l'exemple MySQL ci-dessus, la fonction EXPLAIN renvoie une 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 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 étape par étape de l'utilisation de EXPLAIN dans SQL Runner pour optimiser SQL, consultez le post de la communauté Comment optimiser 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 pour vous donner un aperçu de votre base de données.

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

Lorsque vous choisissez une connexion dans l'exécuteur SQL, Looker affiche le dialecte de base de données associé à cette connexion à droite de la bannière REQUÊTE SQL. Si vous avez accédé à l'exécuteur SQL en sélectionnant Ouvrir dans l'exécuteur SQL ou Expliquer dans l'exécuteur SQL, 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 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 volet de navigation de gauche de l'exécuteur SQL avec les schémas et les tables de la base de données.

Options du menu en forme de roue dentée BigQuery

Lorsque vous choisissez une connexion BigQuery compatible avec plusieurs bases de données, Looker affiche des options spécifiques à un 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 actuellement sélectionnée.

  • Sélectionnez Refresh Schemas & Tables (Actualiser les schémas et les tables) pour remplir à nouveau le volet de navigation de gauche de l'exécuteur SQL avec les schémas et les tables de la base de données.
  • Lorsque des projets disponibles sont affichés, l'option de menu en forme de roue dentée Search public projects (Rechercher des projets publics) est disponible. 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, l'option de menu en forme de roue dentée Afficher les projets disponibles est affichée. 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.

Recherche 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 de l'exécuteur SQL parcourt les noms de toutes les tables et colonnes de table qui contiennent la chaîne dans le champ de recherche. Dans la figure suivante, "airport_name" est une colonne et "airport_remarks" est un tableau.

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, l'exécuteur SQL 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écochant l'option SQL Runner Precache (Précache de 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 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 apparaît à côté du nom d'un tableau ou d'une colonne de tableau et 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 alors exécutée.

Les requêtes disponibles varient selon le 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'une table, Looker affiche les options suivantes:

  • Explorer la table: ouvre un nouvel onglet de navigateur menant à une exploration Looker de la table.
  • Décrire: affiche les noms des colonnes de la table sous-jacente, ainsi que leurs types de données.
  • Afficher les index: affiche des informations sur la manière dont la table est indexée.
  • Select 10 (Sélectionner 10) : affiche 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.
  • Nombre: 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 les colonnes correspondantes. 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 courantes: affiche une requête des valeurs les plus courantes de cette colonne de table, ainsi que le nombre de fois où cette valeur a été trouvée dans la colonne.
  • Nombre approximatif distinct: affiche le 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 l'exécuteur SQL, sélectionnez la connexion de base de données dans la liste déroulante Connexion.
  2. Sélectionnez le schéma dans la liste déroulante Schéma. (Pour les connexions BigQuery, sélectionnez Projet et Ensemble de données.)
  3. L'exécuteur SQL affiche la liste des tables de ce schéma dans votre base de données. Cliquez sur une table pour afficher les colonnes qu'elle contient.
  4. Chaque nom de colonne a 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 champ en forme de roue dentée.

Par exemple, vous pouvez utiliser la requête SQL Runner Count 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 pourrait être une clé primaire, vous pouvez vérifier qu'il n'y a pas de valeurs en double en modifiant la requête "count" 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 les plus élevées. Si cette requête renvoie un nombre égal à 1 pour chaque valeur id, id est probablement la clé primaire de cette table. Cependant, 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 peuvent empêcher id en tant que clé primaire, nous vous recommandons d'appliquer des restrictions à votre base de données afin de vous assurer que vos clés primaires sont uniques.