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 des résultats, partager des requêtes, ajouter des tables dérivées à un projet LookML 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). Les dialectes SQL sont compatibles avec des instructions DDL et DML différentes. Consultez la documentation de votre base de données pour connaître les instructions compatibles.

Looker ne contrôle pas les autorisations des 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 DDL ou DML 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 DML 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 DDL et DML.)
  4. Cliquez sur Run (Exécuter) pour exécuter l'instruction dans 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, 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 Expliquer dans l'exécuteur SQL.

    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. Pour en savoir plus, consultez la documentation de votre dialecte.

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

Pour obtenir un exemple détaillé d'utilisation de EXPLAIN dans SQL Runner pour optimiser SQL, consultez la section Comment optimiser SQL avec EXPLAIN .

Obtenir des informations sur votre base de données

L'onglet Database (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 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 Expliquer dans SQL Runner, Looker présélectionne la connexion appropriée 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 pour remplir à 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 Actualiser les schémas et les tables pour réimporter les schémas et les tables de la base de données dans le volet de navigation de gauche de SQL Runner.
  • Lorsque les projets disponibles s'affichent, une option du 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.

Rechercher 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 l'image 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 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 de cette table.

SQL Runner propose des requêtes préécrites pour vous aider à comprendre vos données. Pour utiliser ces requêtes, cliquez sur la roue dentée qui s'affiche à 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 la roue dentée à côté du nom d'un tableau :

  • Explorer le tableau : ouvre un nouvel onglet de navigateur pour afficher une exploration Looker du tableau.
  • 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 : renvoie une requête sur les dix premières lignes du tableau. C'est un bon moyen de se faire 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. Lorsque vous cliquez sur la roue dentée à côté du nom d'une colonne, Looker affiche les options suivantes :

  • 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 des colonnes

Pour obtenir des informations sur le type de données des colonnes à l'aide de SQL Runner, procédez 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 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 est probablement la clé primaire de ce tableau. 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.