GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment utiliser MySQL SHOW TRIGGERS

Présentation

MySQL SHOW TRIGGERS L'instruction affiche tous les déclencheurs définis dans les tables de la base de données. La commande permet de fournir des détails sur les déclencheurs existants, y compris le nom, la durée de l'événement et d'autres détails.

Bien que l'instruction soit simple et fonctionne sans aucune option, l'ajout d'options affine et filtre davantage les colonnes de données. Par conséquent, la commande permet de récupérer rapidement les informations souhaitées, offrant une meilleure vue d'ensemble des instructions de déclenchement dans une base de données.

Ce tutoriel explique le SHOW TRIGGERS déclaration dans MySQL en détail à l'aide d'exemples.

Prérequis

  • Accès au serveur MySQL via un terminal ou MySQL Workbench.
  • Privilèges Sudo.
  • Accès root à MySQL ou à un compte avec privilège utilisateur TRIGGER.
  • Une table de base de données avec des déclencheurs.

Syntaxe

La syntaxe de SHOW TRIGGERS déclaration est :

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

Pour comprendre le fonctionnement de l'instruction, voici ce que fait chaque partie :

  • SHOW TRIGGERS fonctionne sans aucune option supplémentaire pour la base de données par défaut actuelle.
  • FROM <database name> ou IN <database name> fournit le nom de la base de données à rechercher. Ajoutez le FROM ou IN clause et indiquez le nom de la base de données pour afficher les déclencheurs d'une base de données spécifique.
  • WHERE <expression> sélectionne les lignes du résultat en fonction de l'expression fournie.
  • LIKE '<pattern>' filtre WHERE expression et affiche uniquement les valeurs qui correspondent au modèle.

MySQL SHOW TRIGGERS :comment fonctionne l'instruction ?

Le SHOW TRIGGERS L'instruction affiche tous les déclencheurs définis dans la base de données de travail. L'ajout d'options particulières permet d'afficher les informations de déclenchement d'une base de données sans sélectionner la base de données. De plus, d'autres options permettent de filtrer la sortie pour des recherches affinées.

Avant de commencer, ouvrez le terminal (CTRL +ALT +T ) et connectez-vous au serveur de base de données :

sudo mysql -u <username> -p

L'invite devient mysql> , indiquant une connexion réussie au moniteur MySQL.

Liste des déclencheurs

Il existe deux façons de répertorier les déclencheurs à l'aide de SHOW TRIGGERS déclaration :

1. Pour lister les déclencheurs sans se connecter à une base de données, ajoutez le FROM ou IN clause et indiquez le nom de la base de données.

Par exemple :

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

2. Sinon, connectez-vous d'abord à une base de données :

USE <database name>;

Ensuite, exécutez la commande sans aucun paramètre :

SHOW TRIGGERS\G

Dans les deux cas, la sortie affiche un tableau contenant tous les déclencheurs définis.

Afficher les colonnes DÉCLENCHEURS dans l'ensemble de résultats

La sortie résultante de SHOW TRIGGERS L'instruction affiche chaque ligne avec des détails sur un déclencheur particulier.

Chaque colonne contient les attributs suivants :

  • Déclencheur est le nom du déclencheur.
  • Événement affiche l'action lorsque le déclencheur s'active.
  • Tableau est le nom d'une table où réside le déclencheur.
  • Déclaration montre ce que fait le déclencheur. Plus précisément, l'instruction SQL complète qui s'exécute lorsque le déclencheur s'active s'imprime dans ce champ.
  • Temps indique quand le déclencheur s'exécute par rapport à un événement.
  • Créé imprime la date et l'heure auxquelles un utilisateur a effectué le déclenchement.
  • sql_mode répertorie les modes de serveur SQL en vigueur lorsque le déclencheur s'exécute.
  • Définisseur spécifie l'utilisateur qui a créé le déclencheur et la connexion comme [email protected] .
  • character_set_client affiche le jeu de caractères pour les instructions provenant du client.
  • collation_connection définit les règles de jeu de caractères pour comparer et trier les chaînes lorsque le définisseur a créé le déclencheur.
  • Collection de bases de données affiche le jeu de caractères de la base de données lors du tri et de la comparaison des chaînes associées au déclencheur.

Déclencheurs d'affichage MySQL :exemples

Utilisez le WHERE ou LIKE instruction pour sélectionner les colonnes de la SHOW TRIGGER sortie et utilisez le AND , OR et NOT opérateurs pour filtrer davantage la recherche. Les exemples ci-dessous illustrent des cas d'utilisation typiques.

Afficher les déclencheurs par tableau

Pour répertorier les déclencheurs par nom de table, utilisez l'une des deux méthodes :

1. Afficher les déclencheurs à partir d'un tableau sans se connecter à une base de données avec :

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

Par exemple, si le nom de la base de données est people et le nom de la table est person , utilisez :

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

2. Sinon, connectez-vous d'abord à la base de données :

USE <database name>;

Ensuite, utilisez le SHOW TRIGGERS avec seulement WHERE clause :

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

Par exemple, pour une base de données people avec une table person , exécutez :

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

Dans les deux cas, la sortie répertorie tous les déclencheurs pour la table particulière par lignes.

Afficher les déclencheurs par événement

Chaque déclencheur s'active sur une certaine instruction d'événement MySQL. Pour répertorier les déclencheurs par événement, utilisez la syntaxe suivante :

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

Sinon, connectez-vous d'abord à une base de données :

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

Les options possibles pour un <event> sont :

  • INSERT - Active un déclencheur lorsqu'un utilisateur insère des données dans un tableau.
  • UPDATE - Exécute un déclencheur lorsqu'un utilisateur met à jour les données de la table.
  • DELETE - Exécute un déclencheur lorsqu'un utilisateur supprime des données d'une table.

Par exemple :

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

La sortie affiche uniquement les déclencheurs où l'événement est DELETE .

Afficher les déclencheurs par minutage

Le timing les liens de paramètre vers l'événement , indiquant si un déclencheur s'active BEFORE ou AFTER une déclaration d'événement. Pour afficher les déclencheurs en fonction du temps sans se connecter à une base de données, utilisez la syntaxe suivante :

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

Pour vous connecter d'abord à une base de données, puis répertorier les déclencheurs par durée, utilisez :

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

Avec des exemples de paramètres, l'instruction ressemble à ceci :

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

Le SHOW TRIGGERS la sortie de l'instruction affiche les déclencheurs avec le timing défini sur AFTER .

Afficher les déclencheurs par instruction

La Déclaration La colonne contient l'instruction SQL que le déclencheur exécute lorsqu'il est appelé.

Combinez la commande avec le LIKE clause pour rechercher dans les instructions de déclenchement :

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

Sinon, sélectionnez d'abord la base de données et supprimez le FROM partie de la déclaration :

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

Le LIKE L'instruction effectue une recherche de correspondance de modèle en utilisant le caractère générique (%) :

  • Utilisez % à la fin pour faire correspondre les déclarations qui commencent par un mot particulier. Par exemple, 'IF%' correspond à toutes les occurrences commençant par IF déclaration.
  • Ajouter % au début pour faire correspondre les déclarations qui se terminent par un mot spécifié. Par exemple, '%IF' correspond à toutes les déclarations qui se terminent par IF déclaration.
  • Écrivez % des deux côtés de la déclaration pour rechercher un mot situé n'importe où dans la déclaration.

Un exemple de recherche d'un déclencheur Statement dans une table qui contient le AVG La fonction MySQL est :

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

La requête récupère toutes les instructions contenant le AVG fonction.

Combiner des paramètres de recherche

Combinez les paramètres de recherche avec le AND opérateur pour créer des requêtes complexes. Par exemple, pour rechercher des déclencheurs contenant MySQL AVG fonction et avoir le DELETE événement, exécutez :

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

Le résultat affiche les déclencheurs où les deux déclarations sont évaluées à True . Pour la création de requêtes supplémentaires, utilisez le NOT et OR opérateurs.

Afficher les déclencheurs dans MySQL Workbench

Tous les SHOW TRIGGERS les instructions des exemples précédents fonctionnent dans MySQL Workbench. La seule différence est que les commandes se terminent par un point-virgule (; ) au lieu de \G dans MySQL Workbench.

Pour afficher les déclencheurs dans MySQL Workbench, procédez comme suit :

1. Lancez MySQL Workbench depuis le terminal (CTRL +ALT +T ) avec la commande suivante :

mysql-workbench

Vous pouvez également rechercher MySQL Workbench dans la liste des applications via l'interface graphique.

2. Sélectionnez la connexion souhaitée pour vous connecter au serveur de base de données.

3. Entrez le mot de passe utilisateur si vous y êtes invité.

4. Ajoutez le SHOW TRIGGERS déclaration dans la boîte de requête :

SHOW TRIGGERS;

5. Enfin, exécutez la requête.

Le résultat s'affiche sous la forme d'un tableau contenant tous les déclencheurs.


Ubuntu
  1. Comment utiliser phpMyAdmin pour copier une base de données MySQL

  2. Comment changer le classement de la base de données MySQL ?

  3. Comment copier une base de données MySQL

  4. Comment créer une base de données MySQL dans cPanel

  5. Comment se connecter à distance à MySQL

Comment installer MySQL Workbench dans Ubuntu 20.04

Comment utiliser l'outil MySQL Optimize

Comment réparer la base de données MySQL dans cPanel ?

Comment réparer une base de données MySQL ?

Comment optimiser une base de données MySQL ?

Comment créer une base de données dans MySQL