Gérer les fonctions de base de données avec l'exécuteur SQL

SQL Runner permet d'accéder directement à votre base de données de différentes manières. Avec l'exécuteur SQL, 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édéfinies sur vos données, consulter l'historique de l'exécuteur SQL, télécharger les résultats, partager des requêtes, ajouter 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 l'exécuteur SQL, 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 Base de données de SQL Runner vous permet d'exécuter des instructions LDD (langage de définition de données) et LMD (Data Manipulation Language) pour 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 les données (insertion, mise à jour et suppression, par exemple). Les dialectes SQL ne sont pas tous de la même manière que les instructions LDD et LMD. Pour connaître les instructions compatibles, consultez la documentation de votre base de données.

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 de Looker disposant de l'autorisation use_sql_runner ont accès à l'exécuteur SQL, mais SQL Runner ne contrôle pas les commandes que l'utilisateur peut 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 le faire en configurant les autorisations utilisateur de la base de données.

Pour exécuter une instruction LDD ou LMD sur votre base de données dans l'exécuteur SQL:

  1. Cliquez sur l'onglet Base de données.
  2. Saisissez l'instruction dans la zone Requête SQL. (Consultez la documentation sur le dialecte de votre base de données pour en savoir plus sur la prise en charge et la syntaxe des instructions LDD et LMD.)
  3. Cliquez sur Exécuter pour exécuter l'instruction.
  4. Dans la zone Results (Résultats), vérifiez que l'instruction a bien été exécutée.

Vous pouvez exécuter une requête de suivi pour vérifier que l'instruction a bien été effectuée. Dans l'exemple ci-dessus, nous avons ajouté un utilisateur "Erin Looker-Docs" à la base de données. Nous pouvons exécuter une requête SELECT pour vérifier que l'utilisateur a été ajouté correctement:

Examiner un plan d'exécution avec EXPLAIN

En plus d'exécuter des requêtes SQL sur votre base de données, vous pouvez utiliser l'exécuteur SQL 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 Explorer, 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. Sous la commande SQL, cliquez sur Explain in SQL Runner pour charger la requête dans SQL Runner dans une fonction EXPLAIN.
  3. 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. Vous devriez donc consulter la documentation de votre dialecte pour plus de détails.

Dans l'exemple MySQL ci-dessus, la fonction EXPLAIN renvoie la liste des étapes effectuées par la base de données pour exécuter la requête. Cela peut s'avérer utile pour les requêtes dont l'exécution semble lente, car 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 pour optimiser SQL, consultez cet article du Centre d'aide.

Obtenir des informations sur votre base de données

L'onglet Database (Base de données) de SQL Runner contient de nombreux outils pour vous aider à mieux comprendre votre base de données.

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

Lorsque vous choisissez une connexion dans l'exécuteur SQL, Looker affiche le dialecte de la base de données pour cette connexion à droite de la bannière SQL QUERY. 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 la base de données.

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

Utilisez l'option Refresh Schemas &amp (Actualiser les schémas) 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.

Utilisez 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:

Options de menu en forme de roue dentée spécifiques à 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:

Utilisez l'option Refresh Schemas &amp (Actualiser les schémas) 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.

Utilisez l'option Search public projects (Rechercher des projets publics) pour rechercher des ensembles de données publics qui ne sont pas visibles dans le schéma d'informations.

Le menu représenté par une roue dentée bascule de l'option Rechercher dans les projets publics à Afficher les projets disponibles.

Cliquez sur Afficher les projets disponibles dans le menu en forme de roue dentée pour rétablir l'affichage des projets et des tables BigQuery spécifiques à la connexion dans le volet de navigation de gauche:

Rechercher dans votre base de données

SQL Runner affiche un champ de recherche sous le schéma sélectionné. La recherche parcourt les noms de toutes les tables et de toutes les colonnes de tableau 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 l'exécuteur SQL.

Options de recherche spécifiques à BigQuery

Lorsque vous sélectionnez une connexion BigQuery compatible avec plusieurs bases de données, vous devez également sélectionner un projet BigQuery dans le sélecteur Project (Projet) pour exposer l'ensemble de données et les tables associés:

Une fois le projet sélectionné, vous pouvez sélectionner un ensemble de données ou rechercher un schéma:

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 de très grandes tables, un administrateur peut désactiver ce comportement en désélectionnant l'option SQL Runner Precache (Précache cache de l'exécuteur SQL) sur la page Connexions.

Le panneau de navigation de gauche de l'exécuteur SQL 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.

SQL Runner dispose de requêtes prédéfinies pour vous aider à comprendre vos données. Pour utiliser ces requêtes, cliquez sur la roue dentée qui apparaît à côté du nom d'une table ou d'une colonne de tableau, puis sélectionnez la requête de votre choix. Looker génère automatiquement le code SQL dans la section SQL Query (Requête SQL), et la requête est exécutée.

Les requêtes disponibles varient en fonction du dialecte de la 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é du nom d'une table:

  • Utilisez l'option Décrire pour afficher les noms des colonnes dans la table sous-jacente, ainsi que leurs types de données.
  • Utilisez l'option Afficher les index pour savoir comment la table a été indexée.
  • Utilisez l'option Sélectionner 10 pour renvoyer les 10 premières lignes du tableau. C'est un bon moyen de comprendre à quoi ressemblent les données.
  • Utilisez l'option Count (Nombre) pour que la base de données exécute un simple count(*) pour obtenir le nombre total de lignes de la table.

Informations sur les colonnes

Looker affiche les options suivantes lorsque vous cliquez sur la roue dentée à côté du nom d'une colonne:

  • Utilisez l'option Valeurs les plus courantes du menu en forme de roue dentée pour exécuter une requête permettant de lister les valeurs les plus courantes pour cette colonne de tableau ainsi que le nombre de fois où ces valeurs ont été trouvées dans la colonne.
  • Utilisez l'option Nombre approximatif distinct dans le menu en forme de roue dentée du tableau pour obtenir un nombre approximatif du nombre de valeurs distinctes présentes dans la colonne.

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

Sélectionnez une connexion et un schéma pour afficher toutes les tables de ce schéma. Dans l'exemple ci-dessous, thelook et le schéma demo_db sont sélectionnés.

  1. Sélectionnez une table du schéma pour afficher les colonnes qu'elle contient.
  2. Pointez sur le nom d'une colonne pour afficher le type de données (en entier, dans ce cas).

Chaque nom de colonne est associé à une icône représentant le type de données:

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 de table et de roue dentée.

Par exemple, vous pouvez utiliser la requête Count de l'exécuteur SQL pour charger une commande de base de décompte 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 "count" 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 de limiter les résultats à 10 lignes, les résultats incluront les nombres les plus élevés. Comme vous pouvez le voir ci-dessous, le nombre de chaque valeur id est 1. id est donc probablement la clé primaire de cette table. Cependant, cette requête spécifie uniquement le nombre maximal de lignes existantes dans la table. Par conséquent, assurez-vous que la clé primaire est également spécifiée au niveau de la base de données.