GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo usar MySQL MOSTRAR DISPARADORES

Introducción

MySQL SHOW TRIGGERS La instrucción muestra todos los disparadores definidos en las tablas de la base de datos. El comando ayuda a proporcionar detalles para los activadores existentes, incluido el nombre, la hora del evento y otros detalles.

Aunque la declaración es simple y funciona sin ninguna opción, agregar opciones refina y filtra aún más las columnas de datos. Como resultado, el comando ayuda a recuperar la información deseada rápidamente, brindando una mejor visión general de las declaraciones de activación en una base de datos.

Este tutorial explica los SHOW TRIGGERS declaración en MySQL en detalle usando ejemplos.

Requisitos previos

  • Acceso al servidor MySQL a través de terminal o MySQL Workbench.
  • Privilegios de Sudo.
  • Acceso raíz a MySQL o una cuenta con privilegio de usuario TRIGGER.
  • Una tabla de base de datos con disparadores.

Sintaxis

La sintaxis para SHOW TRIGGERS declaración es:

SHOW TRIGGERS 
[{FROM | IN} <database name>] 
[ WHERE <expression> LIKE '<pattern>']

Para entender cómo funciona la declaración, esto es lo que hace cada parte:

  • SHOW TRIGGERS funciona sin ninguna opción adicional para la base de datos predeterminada actual.
  • FROM <database name> o IN <database name> proporciona el nombre de la base de datos para buscar. Agregue el FROM o IN e indique el nombre de la base de datos para mostrar los activadores de una base de datos específica.
  • WHERE <expression> selecciona las filas del resultado en función de la expresión proporcionada.
  • LIKE '<pattern>' filtra el WHERE expresión y muestra solo los valores que coinciden con el patrón.

MySQL SHOW TRIGERS:¿Cómo funciona la instrucción?

Los SHOW TRIGGERS La instrucción muestra todos los disparadores definidos en la base de datos de trabajo. Agregar opciones particulares permite mostrar información de activación de una base de datos sin seleccionar la base de datos. Además, otras opciones permiten filtrar la salida para búsquedas refinadas.

Antes de empezar, abre la terminal (CTRL +ALT +T ) y conéctese al servidor de la base de datos:

sudo mysql -u <username> -p

El aviso cambia a mysql> , lo que indica una conexión exitosa al monitor MySQL.

Lista de activadores

Hay dos formas de enumerar los disparadores usando el SHOW TRIGGERS declaración:

1. Para enumerar desencadenantes sin conectarse a una base de datos, agregue el FROM o IN y proporcione el nombre de la base de datos.

Por ejemplo:

SHOW TRIGGERS IN <database name>\G
SHOW TRIGGERS FROM <database name>\G

2. Alternativamente, primero conéctese a una base de datos:

USE <database name>;

Luego, ejecute el comando sin ningún parámetro:

SHOW TRIGGERS\G

En ambos casos, la salida muestra una tabla que contiene todos los disparadores definidos.

MOSTRAR columnas DISPARADORES en el conjunto de resultados

La salida resultante de SHOW TRIGGERS muestra cada fila con detalles sobre un disparador en particular.

Cada columna contiene los siguientes atributos:

  • Disparador es el nombre del disparador.
  • Evento muestra la acción cuando se activa el gatillo.
  • Mesa es el nombre de una tabla donde reside el disparador.
  • Declaración muestra lo que hace el gatillo. Específicamente, la instrucción SQL completa que se ejecuta cuando se activa el activador se imprime en este campo.
  • Tiempo muestra cuándo se ejecuta el activador en relación con un evento.
  • Creado imprime la fecha y la hora en que un usuario realizó el activador.
  • modo_sql enumera los modos del servidor SQL en vigor cuando se ejecuta el disparador.
  • Definidor especifica el usuario que creó el disparador y la conexión como [email protected] .
  • character_set_client muestra el juego de caracteres para declaraciones que provienen del cliente.
  • conexión_collation define las reglas del conjunto de caracteres para comparar y clasificar cadenas cuando el definidor creó el activador.
  • Recopilación de bases de datos muestra el conjunto de caracteres para la base de datos al ordenar y comparar cadenas asociadas con el disparador.

MOSTRAR ACTIVADORES MySQL:Ejemplos

Usa el WHERE o LIKE instrucción para seleccionar las columnas de SHOW TRIGGER salida y use el AND , OR y NOT operadores para filtrar más la búsqueda. Los siguientes ejemplos muestran casos de uso típicos.

Mostrar activadores por tabla

Para enumerar los disparadores por el nombre de la tabla, use uno de los dos métodos:

1. Mostrar los activadores de una tabla sin conectarse a una base de datos con:

SHOW TRIGGERS 
FROM <database name> 
WHERE `Table`='<table name>'\G

Por ejemplo, si el nombre de la base de datos es people y el nombre de la tabla es person , usa:

SHOW TRIGGERS 
FROM people 
WHERE `Table`='person'\G

2. Alternativamente, primero conéctese a la base de datos:

USE <database name>;

Luego, use el SHOW TRIGGERS con solo el WHERE cláusula:

SHOW TRIGGERS 
WHERE `Table`='<table name>'\G

Por ejemplo, para una base de datos people con una mesa person , ejecuta:

USE people;
SHOW TRIGGERS 
WHERE `Table`='person'\G

En ambos casos, la salida enumera todos los disparadores para la tabla en particular por filas.

Mostrar disparadores por evento

Cada disparador se activa en una determinada declaración de evento de MySQL. Para listar desencadenantes por evento, use la siguiente sintaxis:

SHOW TRIGGERS
FROM <database name>
WHERE `Event`='<event>'\G

Alternativamente, primero conéctese a una base de datos:

USE <database name>;
SHOW TRIGGERS 
WHERE `Event`='<event>'\G

Las opciones posibles para un <event> son:

  • INSERT - Activa un activador cuando un usuario inserta datos en una tabla.
  • UPDATE - Ejecuta un activador cuando un usuario actualiza los datos de la tabla.
  • DELETE - Ejecuta un activador cuando un usuario elimina datos de una tabla.

Por ejemplo:

SHOW TRIGGERS 
FROM people 
WHERE `Event`='DELETE'\G

La salida muestra solo aquellos disparadores donde el evento es DELETE .

Mostrar disparadores por tiempo

El tiempo enlaces de parámetros al Evento , que indica si un disparador se activa BEFORE o AFTER una declaración de evento. Para mostrar activadores basados ​​en el tiempo sin conectarse a una base de datos, use la siguiente sintaxis:

SHOW TRIGGERS
FROM <database name>
WHERE `Timing`='<timing>'\G

Para conectarse primero a una base de datos y luego enumerar los disparadores por tiempo, use:

USE <database name>;
SHOW TRIGGERS
WHERE `Timing`='<timing>'\G

Con parámetros de ejemplo, la declaración se parece a lo siguiente:

SHOW TRIGGERS 
FROM people 
WHERE Timing='AFTER'\G

Los SHOW TRIGGERS la salida de la declaración muestra disparadores con el Tiempo establecido en AFTER .

Mostrar activadores por declaración

La Declaración La columna contiene la instrucción SQL que ejecuta el activador cuando se invoca.

Combine el comando con LIKE cláusula para buscar a través de sentencias desencadenantes:

SHOW TRIGGERS
FROM <database name>
WHERE `Statement` LIKE '<pattern>'\G

Alternativamente, primero seleccione la base de datos y elimine el FROM parte de la declaración:

USE <database name>;
SHOW TRIGGERS 
WHERE `Statement` LIKE '<pattern>'\G

El LIKE hace una búsqueda de coincidencia de patrones utilizando el carácter comodín (%):

  • Usar % al final para hacer coincidir declaraciones que comienzan con una palabra en particular. Por ejemplo, 'IF%' coincide con todas las ocurrencias que comienzan con IF declaración.
  • Añadir % al principio para hacer coincidir declaraciones que terminan con una palabra específica. Por ejemplo, '%IF' coincide con todas las declaraciones que terminan con IF declaración.
  • Escribe % en ambos lados del enunciado para buscar una palabra ubicada en cualquier lugar del enunciado.

Un ejemplo de búsqueda de un disparador Declaración en una tabla que contiene el AVG La función MySQL es:

SHOW TRIGGERS 
FROM people 
WHERE `Statement` LIKE '%AVG%'\G

La consulta recupera todas las declaraciones que contienen el AVG función.

Combinar parámetros de búsqueda

Combine los parámetros de búsqueda con AND operador para crear consultas complejas. Por ejemplo, para buscar disparadores que contengan MySQL AVG función y tener el DELETE evento, ejecutar:

SHOW TRIGGERS
FROM people
WHERE `Statement` LIKE '%AVG%' AND `Event`='DELETE'\G

El resultado muestra disparadores donde ambas declaraciones se evalúan como Verdadero . Para la creación de consultas adicionales, use el NOT y OR operadores.

Mostrar disparadores en MySQL Workbench

Todos los SHOW TRIGGERS Las declaraciones de los ejemplos anteriores funcionan en MySQL Workbench. La única diferencia es que los comandos terminan en punto y coma (; ) en lugar de \G en MySQL Workbench.

Para mostrar disparadores en MySQL Workbench, haga lo siguiente:

1. Ejecute MySQL Workbench desde la terminal (CTRL +ALT +T ) con el siguiente comando:

mysql-workbench

Alternativamente, busque MySQL Workbench en la lista de aplicaciones a través de la GUI.

2. Seleccione la conexión deseada para conectarse al servidor de la base de datos.

3. Introduzca la contraseña de usuario si se le solicita.

4. Agregue SHOW TRIGGERS declaración en el cuadro de consulta:

SHOW TRIGGERS;

5. Por último, ejecute la consulta.

El resultado se muestra como una tabla que contiene todos los disparadores.


Ubuntu
  1. Cómo usar phpMyAdmin para copiar una base de datos MySQL

  2. ¿Cómo cambiar la intercalación de la base de datos MySQL?

  3. Cómo copiar una base de datos MySQL

  4. Cómo crear una base de datos MySQL en cPanel

  5. Cómo conectarse de forma remota a MySQL

Cómo instalar MySQL Workbench en Ubuntu 20.04

Cómo usar la herramienta MySQL Optimize

¿Cómo reparar la base de datos MySQL en cPanel?

¿Cómo reparar una base de datos MySQL?

¿Cómo optimizar una base de datos MySQL?

Cómo crear una base de datos en MySQL