GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come utilizzare MySQL SHOW TRIGGER

Introduzione

Il SHOW TRIGGERS di MySQL visualizza tutti i trigger definiti nelle tabelle del database. Il comando aiuta a fornire i dettagli per i trigger esistenti, inclusi il nome, l'orario dell'evento e altri dettagli.

Sebbene l'istruzione sia semplice e funzioni senza alcuna opzione, l'aggiunta di opzioni perfeziona e filtra ulteriormente le colonne di dati. Di conseguenza, il comando aiuta a recuperare rapidamente le informazioni desiderate, fornendo una migliore panoramica delle istruzioni di attivazione in un database.

Questo tutorial spiega SHOW TRIGGERS dichiarazione in MySQL in dettaglio utilizzando esempi.

Prerequisiti

  • Accesso al server MySQL tramite terminale o MySQL Workbench.
  • Privilegi di sudo.
  • Accesso root a MySQL o un account con privilegio utente TRIGGER.
  • Una tabella di database con trigger.

Sintassi

La sintassi per SHOW TRIGGERS affermazione è:

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

Per capire come funziona la dichiarazione, ecco cosa fa ogni parte:

  • SHOW TRIGGERS funziona senza opzioni aggiuntive per il database predefinito corrente.
  • FROM <database name> o IN <database name> fornisce il nome del database da cercare. Aggiungi il FROM o IN e indicare il nome del database per visualizzare i trigger da un database specifico.
  • WHERE <expression> seleziona le righe dal risultato in base all'espressione fornita.
  • LIKE '<pattern>' filtra il WHERE espressione e visualizza solo i valori che corrispondono al modello.

MySQL SHOW TRIGGERS:come funziona la dichiarazione?

Il SHOW TRIGGERS istruzione mostra tutti i trigger definiti nel database di lavoro. L'aggiunta di opzioni particolari consente di mostrare le informazioni sui trigger da un database senza selezionare il database. Inoltre, ulteriori opzioni consentono di filtrare l'output per ricerche raffinate.

Prima di iniziare, apri il terminale (CTRL +ALT +T ) e connettersi al server del database:

sudo mysql -u <username> -p

Il prompt cambia in mysql> , che indica una connessione riuscita al monitor MySQL.

Elenco dei trigger

Esistono due modi per elencare i trigger utilizzando il SHOW TRIGGERS dichiarazione:

1. Per elencare i trigger senza connettersi a un database, aggiungi il FROM o IN clausola e fornire il nome del database.

Ad esempio:

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

2. In alternativa, connettiti prima a un database:

USE <database name>;

Quindi, esegui il comando senza alcun parametro:

SHOW TRIGGERS\G

In entrambi i casi, l'output mostra una tabella che contiene tutti i trigger definiti.

Mostra colonne trigger nell'insieme dei risultati

L'output risultante da SHOW TRIGGERS visualizza ogni riga con i dettagli su un particolare trigger.

Ogni colonna contiene i seguenti attributi:

  • Attivatore è il nome del trigger.
  • Evento mostra l'azione quando si attiva il trigger.
  • Tabella è il nome di una tabella in cui risiede il trigger.
  • Dichiarazione mostra cosa fa il trigger. In particolare, l'istruzione SQL completa che viene eseguita quando il trigger si attiva viene stampata in questo campo.
  • Temporizzazione mostra quando il trigger viene eseguito in relazione a un evento.
  • Creato stampa la data e l'ora in cui un utente ha eseguito il trigger.
  • sql_mode elenca le modalità del server SQL in vigore quando viene eseguito il trigger.
  • Definitore specifica l'utente che ha creato il trigger e la connessione come [email protected] .
  • character_set_client mostra il set di caratteri per le dichiarazioni che provengono dal cliente.
  • collation_connection definisce le regole del set di caratteri per confrontare e ordinare le stringhe quando il definitore ha creato il trigger.
  • Confronto database mostra il set di caratteri per il database durante l'ordinamento e il confronto delle stringhe associate al trigger.

TRIGGERS SHOW di MySQL:esempi

Usa il WHERE o LIKE per selezionare le colonne da SHOW TRIGGERS output e utilizzare il AND , OR e NOT operatori per filtrare ulteriormente la ricerca. Gli esempi seguenti mostrano casi d'uso tipici.

Mostra trigger per tabella

Per elencare i trigger in base al nome della tabella, utilizzare uno dei due metodi:

1. Mostra i trigger da una tabella senza connessione a un database con:

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

Ad esempio, se il nome del database è people e il nome della tabella è person , usa:

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

2. In alternativa, connettersi prima al database:

USE <database name>;

Quindi, usa il SHOW TRIGGERS con solo il WHERE clausola:

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

Ad esempio, per un database people con una tabella person , esegui:

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

In entrambi i casi, l'output elenca tutti i trigger per la particolare tabella per righe.

Mostra trigger per evento

Ogni trigger si attiva su una determinata istruzione di evento MySQL. Per elencare i trigger per evento, utilizza la seguente sintassi:

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

In alternativa, connettiti prima a un database:

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

Le possibili opzioni per un <event> sono:

  • INSERT - Attiva un trigger quando un utente inserisce dati in una tabella.
  • UPDATE - Esegue un trigger quando un utente aggiorna i dati della tabella.
  • DELETE - Esegue un trigger quando un utente elimina i dati da una tabella.

Ad esempio:

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

L'output mostra solo i trigger in cui l'evento è DELETE .

Mostra trigger per tempistica

Il Tempo il parametro si collega all'Evento , indicando se un attivatore attiva BEFORE o AFTER una dichiarazione di evento. Per mostrare i trigger in base ai tempi senza connettersi a un database, utilizza la seguente sintassi:

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

Per connetterti prima a un database e poi elencare i trigger in base al tempo, usa:

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

Con parametri di esempio, l'istruzione è simile alla seguente:

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

Il SHOW TRIGGERS l'output dell'istruzione mostra i trigger con il Tempo impostato su AFTER .

Mostra trigger per istruzione

La dichiarazione contiene l'istruzione SQL eseguita dal trigger quando viene richiamato.

Combina il comando con il LIKE clausola per cercare tra le istruzioni trigger:

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

In alternativa, seleziona prima il database e rimuovi il FROM parte della dichiarazione:

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

Il LIKE istruzione esegue una ricerca di corrispondenza del modello utilizzando il carattere jolly (%):

  • Utilizza % alla fine per abbinare le affermazioni che iniziano con una parola particolare. Ad esempio, 'IF%' corrisponde a tutte le occorrenze che iniziano con IF dichiarazione.
  • Aggiungi % all'inizio per abbinare le istruzioni che terminano con una parola specificata. Ad esempio, '%IF' corrisponde a tutte le istruzioni che terminano con IF dichiarazione.
  • Scrivi % su entrambi i lati dell'istruzione per cercare una parola che si trova in un punto qualsiasi dell'istruzione.

Un esempio di ricerca di un trigger Dichiarazione in una tabella che contiene il AVG La funzione MySQL è:

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

La query recupera tutte le istruzioni che contengono AVG funzione.

Combinazione di parametri di ricerca

Combina i parametri di ricerca con il AND operatore per creare query complesse. Ad esempio, per cercare trigger che contengono AVG MySQL funzione e avere il DELETE evento, esegui:

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

Il risultato mostra i trigger in cui entrambe le istruzioni restituiscono True . Per la creazione di query aggiuntive, utilizza il NOT e OR operatori.

Mostra trigger in MySQL Workbench

Tutti i SHOW TRIGGERS le istruzioni degli esempi precedenti funzionano in MySQL Workbench. L'unica differenza è che i comandi terminano con un punto e virgola (; ) invece di \G in MySQL Workbench.

Per mostrare i trigger in MySQL Workbench, procedi come segue:

1. Esegui MySQL Workbench dal terminale (CTRL +ALT +T ) con il seguente comando:

mysql-workbench

In alternativa, cerca MySQL Workbench nell'elenco delle applicazioni tramite la GUI.

2. Selezionare la connessione desiderata per connettersi al server del database.

3. Immettere la password utente se richiesta.

4. Aggiungi il SHOW TRIGGERS istruzione nella casella della query:

SHOW TRIGGERS;

5. Infine, esegui la query.

Il risultato viene visualizzato come una tabella contenente tutti i trigger.


Ubuntu
  1. Come usare phpMyAdmin per copiare un database MySQL

  2. Come modificare le regole di confronto del database MySQL?

  3. Come copiare un database MySQL

  4. Come connettersi in remoto a MySQL

  5. Come utilizzare la procedura guidata del database MySQL di cPanel

Come installare MySQL Workbench in Ubuntu 20.04

Come utilizzare lo strumento MySQL Optimize

Come riparare il database MySQL in cPanel?

Come riparare un database MySQL?

Come ottimizzare un database MySQL?

Come creare un database in MySQL