Administra funciones de bases de datos con el Ejecutor de SQL

El ejecutor de SQL proporciona una forma de acceder directamente a tu base de datos y aprovechar ese acceso de varias maneras. Con SQL Runner, puedes navegar fácilmente por las tablas en tu esquema, usar una exploración ad hoc a partir de una consulta en SQL, ejecutar consultas descriptivas predefinidas en tus datos, ver tu historial de SQL Runner, descargar resultados, compartir consultas, agregar consultas a un proyecto de LookML como una tabla derivada y realizar otras tareas útiles.

En esta página, se describe cómo modificar el esquema y los datos de tu base de datos con SQL Runner, ver el plan de ejecución de tu base de datos para realizar una consulta con la instrucción EXAMINE y usar SQL Runner para obtener información sobre tu base de datos. Consulta estas otras páginas de documentación para obtener información sobre lo siguiente:

Modifica el esquema y los datos de la base de datos

Además de ejecutar consultas en tu base de datos, la pestaña Base de datos del Runner de SQL te permite ejecutar declaraciones en lenguaje de definición de datos (DDL) y lenguaje de manipulación de datos (DML) en tu base de datos. Puedes usar el Ejecutor de SQL para realizar cambios en el esquema (como crear, descartar y modificar) y en los datos (como insertar, actualizar y borrar). Los dialectos de SQL tienen compatibilidad variable con declaraciones DDL y DML, así que consulta la documentación de tu base de datos para averiguar qué declaraciones son compatibles.

Looker no controla la autorización de las instrucciones de SQL que un usuario puede ejecutar en tu base de datos. Los usuarios de Looker con el permiso use_sql_runner tienen acceso al Ejecutor de SQL, pero SQL Runner no controla qué comandos puede ejecutar el usuario. Si el administrador de tu base de datos quiere evitar que los usuarios del ejecutor de SQL modifiquen el esquema de la base de datos, el administrador debe hacerlo configurando permisos de usuario para la base de datos.

Para ejecutar una declaración DDL o DML en tu base de datos en el Runner de SQL, sigue estos pasos:

  1. Navega al Ejecutor de SQL.
  2. En el Ejecutor de SQL, haz clic en la pestaña Base de datos.
  3. Ingresa la declaración DDL o DML en el cuadro Consulta del Ejecutor de SQL. (Consulta la documentación del dialecto de tu base de datos para conocer la compatibilidad y la sintaxis de las declaraciones DDL y DML).
  4. Haz clic en Run para ejecutar la instrucción en tu base de datos.

Si la instrucción se ejecuta correctamente en tu base de datos, el cuadro Resultados de SQL mostrará una confirmación.

Examina un plan de ejecución con EXPLAIN

Además de ejecutar consultas en SQL en tu base de datos, puedes usar el Ejecutor de SQL para ejecutar una función EXPLAIN para una consulta. La función EXPLAIN, que es compatible con la mayoría de los dialectos de SQL, muestra el plan de ejecución de la base de datos para una consulta.

  1. En una exploración, ejecuta una consulta y haz clic en la pestaña SQL del área Datos para ver el comando SQL de la consulta.
  2. En la pestaña SQL de Explorar, haz clic en el botón Explain in SQL Runner.

    Looker abrirá el Ejecutor de SQL y cargará la consulta en una función EXPLAIN.

  3. En el Ejecutor de SQL, haz clic en Ejecutar para ejecutar la función EXPLAIN.

  4. Observa el resultado de la función EXPLAIN.

La información exacta y el formato de la respuesta de EXPLAIN dependerán de tu dialecto específico, por lo que debes consultar la documentación relacionada para obtener información específica.

En el ejemplo anterior de MySQL, la función EXPLAIN muestra una lista de los pasos que sigue la base de datos para completar la consulta. Esto puede ser útil para consultas que parecen lentas de ejecución, ya que puede que descubras que tu base de datos está analizando una tabla completa en una consulta, cuando la tabla podría usar un índice para mejorar el rendimiento.

Si deseas ver un ejemplo paso a paso del uso de EXPLAIN en SQL Runner para optimizar SQL, consulta la publicación de Comunidad Cómo optimizar SQL con EXPLICAR .

Obtén información sobre tu base de datos

La pestaña Base de datos en el ejecutor de SQL tiene muchas herramientas para darte estadísticas de tu base de datos.

Obtén información sobre la conexión de la base de datos

Cuando eliges una conexión en SQL Runner, Looker muestra el dialecto de la base de datos para esa conexión a la derecha del banner SQL QUERY. Si navegaste al Ejecutor de SQL y eliges Abrir en el Ejecutor de SQL o Explicar en el Ejecutor de SQL, Looker preselecciona la conexión adecuada para ti y muestra el dialecto de la base de datos de la conexión.

Haz clic en el menú del engranaje de conexión para obtener más opciones de conexión de la base de datos:

  • Selecciona la opción Mostrar procesos para mostrar información sobre las consultas y los procesos que se ejecutan actualmente en la conexión.
  • Selecciona la opción Refresh Schemas & Tables para volver a propagar el panel de navegación izquierdo del Ejecutor de SQL con los esquemas y las tablas de la base de datos.

Opciones del menú de ajustes de BigQuery

Cuando eliges una conexión de BigQuery que admite varias bases de datos, Looker muestra opciones específicas de dialecto en el menú de ajustes. El elemento de menú alterna entre Mostrar proyectos disponibles y Buscar proyectos públicos, según la opción que esté seleccionada actualmente.

  • Selecciona Refresh Schemas & Tables para volver a propagar el panel de navegación izquierdo del Ejecutor de SQL con los esquemas y las tablas que se encuentran en la base de datos.
  • Cuando se muestran los proyectos disponibles, hay una opción del menú de ajustes para Buscar proyectos públicos. Selecciona esta opción para buscar conjuntos de datos públicos que no estén visibles en el esquema de información.
  • Cuando se muestran los proyectos públicos, aparece la opción del menú de ajustes para Mostrar proyectos disponibles. Selecciona esta opción para revertir la visualización a proyectos y tablas de BigQuery específicos de la conexión en el panel de navegación izquierdo del Ejecutor de SQL.

Busca en tu base de datos

El Ejecutor de SQL muestra un cuadro de búsqueda debajo del Esquema seleccionado (o Conjunto de datos para las conexiones de Google BigQuery).

La búsqueda del Ejecutor de SQL explora los nombres de todas las tablas y columnas de la tabla que contienen la cadena en el cuadro de búsqueda. En la siguiente figura, 'airport_name' es una columna y 'airport_remarks' es una tabla.

Haz clic en uno de los resultados de la búsqueda para navegar a ese elemento en SQL Runner.

Obtén información de las tablas

De forma predeterminada, el Ejecutor de SQL precarga toda la información de la tabla cuando seleccionas una conexión y un esquema. Para las conexiones que tienen muchas tablas o tablas muy grandes, un administrador puede inhabilitar este comportamiento anulando la selección de la opción Precaché de SQL Runner en la página Conexiones.

El panel de navegación de la izquierda del Ejecutor de SQL te permite navegar por los esquemas y las tablas de tus conexiones. Selecciona una conexión y un esquema para ver todas las tablas en ese esquema. Haz clic en el nombre de una tabla para ver los campos en esa tabla.

El Ejecutor de SQL tiene algunas consultas predefinidas para ayudarte a comprender tus datos. Para usar estas consultas, haz clic en el ícono de ajustes que aparece junto al nombre de una tabla o columna de tabla y selecciona la consulta deseada. Looker genera el SQL automáticamente en la sección Consulta en SQL, y se ejecutará la consulta.

Las consultas disponibles variarán según el dialecto de la base de datos.

Información de la tabla

Looker muestra las siguientes opciones cuando haces clic en el engranaje junto al nombre de una tabla:

  • Tabla de exploración: Se abre una nueva pestaña del navegador en la Exploración de Looker de la tabla.
  • Describir: Muestra los nombres de las columnas en la tabla subyacente, así como sus tipos de datos.
  • Mostrar índices: Muestra información sobre cómo se indexa la tabla.
  • Select 10: Muestra una consulta de las diez primeras filas de la tabla. Esta es una buena manera de tener una idea de cómo lucen realmente los datos.
  • Count: Muestra una consulta count(*) simple para obtener el recuento total de filas de la tabla.

Información de la columna

Haz clic en el nombre de una tabla para ver las columnas en la tabla. Looker muestra las siguientes opciones cuando haces clic en el ícono de ajustes junto al nombre de una columna:

  • Valores más comunes: Muestra una consulta de los valores más comunes para esa columna de la tabla, junto con un recuento de la cantidad de veces que ese valor se encuentra en la columna.
  • Cantidad aproximada de valores distintos: Muestra un recuento aproximado de la cantidad de valores distintos que se encontraron en la columna.

Obtén información sobre los tipos de datos de las columnas

Puedes usar el Ejecutor de SQL para obtener información sobre el tipo de datos de la columna realizando los siguientes pasos:

  1. En el Ejecutor de SQL, selecciona la conexión de la base de datos en el menú desplegable Conexión.
  2. Selecciona el esquema en el menú desplegable Esquema. (Para conexiones de BigQuery, selecciona Proyecto y Conjunto de datos).
  3. El Ejecutor de SQL muestra la lista de tablas en ese esquema en tu base de datos. Haz clic en una tabla para ver las columnas de esa tabla.
  4. Cada nombre de columna tiene un ícono que representa el tipo de datos. Coloca el cursor sobre el nombre de una columna para ver el tipo de datos en esa columna.

Edita las consultas de SQL compiladas previamente

Puedes editar cualquier consulta en SQL en el área Consulta, incluidas las consultas en SQL predeterminadas elegidas de los menús de tabla y engranaje de campo.

Por ejemplo, puedes usar la consulta Count del ejecutor de SQL para cargar un comando de cantidad básico para una base de datos y, luego, editar la consulta en SQL. Por lo tanto, si crees que la columna id de la tabla public.users podría ser una clave primaria, puedes validar que no haya valores duplicados editando la consulta de recuento de la siguiente manera:

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

Debido a que la consulta se ordena según el recuento antes de que los resultados se limiten a 10 filas, los resultados incluirán los valores de recuento más altos. Si esta consulta muestra un recuento de 1 para cada valor de id, es probable que id sea la clave primaria de esta tabla. Sin embargo, esta consulta especifica solo las filas de la tabla en el entorno de ejecución de la consulta. Debido a que las inserciones futuras de la base de datos podrían descalificar a id como clave primaria, te recomendamos que implementes restricciones en tu base de datos para asegurarte de que tus claves primarias sean únicas.