Administra funciones de bases de datos con el ejecutor de SQL

El ejecutor de SQL proporciona una forma de acceder directamente a la base de datos y aprovechar ese acceso de varias maneras. Con SQL Runner, puede navegar fácilmente por las tablas de su esquema, usar una exploración ad hoc de una consulta en SQL, ejecutar consultas descriptivas predefinidas en sus datos, ver su historial de SQL Runner, descargar resultados, compartir consultas, agregar 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 el ejecutor de SQL, ver el plan de ejecución de tu base de datos para una consulta con la instrucción EXAMINE y usar SQL Runner a fin de 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 sobre su base de datos, la pestaña Base de datos en el ejecutor de SQL le permite ejecutar declaraciones en lenguaje de definición de datos (DDL) y en lenguaje de manipulación de datos (DML) en ella. Puedes usar el ejecutor de SQL para realizar cambios en el esquema (como crear, soltar y alterar) y cambios en los datos (como insertar, actualizar y borrar). Los dialectos de SQL son compatibles con DDL y DML, por lo que debes consultar la documentación de tu base de datos para descubrir cuáles son compatibles.

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

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

  1. Navegue a SQL Runner.
  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 de tu dialecto de base de datos para conocer la compatibilidad y sintaxis de las declaraciones DDL y DML.
  4. Haz clic en Ejecutar para ejecutar la instrucción en tu base de datos.

Si la instrucción se ejecuta correctamente en su 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 SQL Runner para ejecutar una función EXPLAIN en 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. Desde Explorar, ejecute una consulta y haga 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, haga clic en el botón Explicación en el ejecutor de SQL.

    Looker abrirá SQL Runner 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. Visualiza 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 deberías ver la documentación de tu dialecto para detalles específicos.

En el ejemplo anterior de MySQL, la función EXPLAIN muestra una lista de los pasos que realizó la base de datos para completar la consulta. Esto puede ser útil para las consultas que parecen ejecutarse con lentitud, ya que es posible que tu base de datos esté analizando una tabla completa en una consulta, cuando tal vez la tabla podría usar un índice para mejorar el rendimiento.

Si quieres ver un ejemplo paso a paso de cómo usar EXPLAIN en el ejecutor de SQL para optimizar SQL, consulta la publicación de Comunidad de Cómo optimizar SQL con EXPLAIN .

Obtén información sobre tu base de datos

La pestaña Base de datos de SQL Runner tiene muchas herramientas que te proporcionan estadísticas sobre tu base de datos.

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

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

Haz clic en el menú de ajustes de conexión a fin de obtener más opciones para la 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 están ejecutando en la conexión.
  • Selecciona la opción Refresh Schemas & Tables para actualizar 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 por dialecto en el menú de ajustes. El elemento de menú cambia entre Mostrar proyectos disponibles y Buscar proyectos públicos, según la opción que esté seleccionada actualmente.

  • Seleccione Actualizar esquemas y tablas para volver a propagar el panel de navegación izquierdo del ejecutor de SQL con los esquemas y las tablas que están en la base de datos.
  • Cuando se muestran los proyectos disponibles, existe una opción de 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 proyectos públicos, hay una opción de menú de ajustes para Mostrar proyectos disponibles. Selecciona esta opción para revertir la pantalla a los 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 en el 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 tablas que contienen la string 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 el ejecutor de SQL.

Obtén información de las tablas

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

El panel de navegación izquierdo del ejecutor de SQL te permite navegar por los esquemas y tablas de tus conexiones. Selecciona una conexión y un esquema para ver todas las tablas de ese esquema. Haga clic en el nombre de una tabla para ver los campos que contiene.

SQL Runner tiene algunas consultas predefinidas para ayudarte a comprender tus datos. Para utilizar estas consultas, haga clic en el ícono de ajustes que aparece junto al nombre de una tabla o columna de tabla y seleccione la consulta deseada. Looker genera SQL automáticamente en la sección Consulta de 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 ícono de ajustes junto al nombre de una tabla:

  • Explorar tabla: Abre una nueva pestaña del navegador en la opción Explorar de Looker de la tabla.
  • Describe (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.
  • Seleccionar 10: Muestra una consulta de las primeras diez filas de la tabla. Esta es una buena forma de obtener una idea de cómo son los datos.
  • Recuento: muestra una consulta count(*) simple para obtener el recuento total de filas de la tabla.

Información de la columna

Haga clic en el nombre de una tabla para ver las columnas que contiene. 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 se encuentra ese valor en la columna.
  • Distintivo de recuento aproximado: Muestra un recuento aproximado de la cantidad de valores distintos que se encuentran en la columna.

Obtén información sobre el tipo de datos de las columnas

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

  1. En SQL Runner, selecciona la conexión de base de datos del menú desplegable Connection.
  2. Selecciona el esquema del 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. Haga clic en una tabla para ver las columnas que contiene.
  4. Cada nombre de columna tiene un ícono que representa el tipo de datos. Coloque 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 Query, incluidas las consultas de SQL predeterminadas que se eligen en los menús de los campos de la tabla y el campo.

Por ejemplo, puedes usar la consulta Count de ejecutor de SQL a fin de cargar un comando de recuento 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. Para ello, edita la consulta de recuento de la siguiente manera:

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

Dado que la consulta se ordena por 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 id, es probable que id sea la clave primaria de esta tabla. Sin embargo, esta consulta especifica solo las filas de la tabla durante el tiempo de ejecución de la consulta. Debido a que las inserciones futuras a la base de datos pueden descalificar id como clave primaria, recomendamos implementar restricciones en tu base de datos para garantizar que tus claves primarias sean únicas.