Beispiel für die MySQL-Triggeroperation „Hinzufügen“, „Löschen“, „Ändern“ und „Abfragen“

Beispiel für die MySQL-Triggeroperation „Hinzufügen“, „Löschen“, „Ändern“ und „Abfragen“

In diesem Artikel werden anhand von Beispielen die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge von MySQL-Triggern beschrieben. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Nachdem wir einen Trigger erstellt haben, können wir seine Definition im Datenordner anzeigen, der die Triggerdefinitionsdatei enthält. Trigger werden als reine Textdateien in den folgenden Datenbankordnern gespeichert:

/Datenordner/Datenbankname/Tabellenname.trg

Wir können die Trigger auch anzeigen, indem wir die Trigger-Tabelle in der Datenbank information_schema wie folgt abfragen:

WÄHLEN 
  *
AUS
  information_schema.triggers
WO
  trigger_schema = "Datenbankname"
    UND Triggername = 'Triggername';

Mit dieser Anweisung können Sie den Inhalt eines Triggers und seine Metadaten anzeigen, beispielsweise den zugehörigen Tabellennamen und den Definierer (den Namen des MySQL-Benutzers, der den Trigger erstellt hat).

Wenn Sie alle Trigger in einer angegebenen Datenbank abrufen möchten, müssen Sie Daten aus der Trigger-Tabelle in der Datenbank information_schema mithilfe der folgenden SELECT-Anweisung abfragen:

WÄHLEN
  *
AUS
  information_schema.triggers
WO
  trigger_schema = "Datenbankname";

So finden Sie alle Trigger, die mit einer bestimmten Tabelle verknüpft sind:

WÄHLEN 
  *
AUS
  information_schema.triggers
WO
  trigger_schema = "Datenbankname"
    UND event_object_table = 'Tabellenname';

Schauen wir uns alle Trigger an, die mit der Mitarbeitertabelle verknüpft sind:

Wählen Sie * aus Informationsschema.Trigger
WHERE trigger_schema = 'Ihr Datenbankname'
    UND event_object_table = 'Mitarbeiter';

Eine weitere Möglichkeit, Trigger in einer bestimmten Datenbank anzuzeigen, ist die Verwendung der Anweisung SHOW TRIGGERS. Die Syntax lautet wie folgt:

TRIGGERS ANZEIGEN [FROM|IN] Datenbankname
[LIKE Ausdruck | WHERE Ausdruck];

Wenn Sie beispielsweise alle Trigger in der aktuellen Datenbank anzeigen möchten, können Sie die Anweisung SHOW TRIGGERS wie folgt verwenden:

AUSLÖSER ANZEIGEN;

Um alle Trigger in einer bestimmten Datenbank abzurufen, geben Sie den Datenbanknamen in der Anweisung SHOW TRIGGERS an. So können Sie beispielsweise alle Trigger in der Datenbank „luyaran“ abfragen, wie unten gezeigt:

AUSLÖSER VON Luyaran ANZEIGEN;

Um alle Trigger abzurufen, die einer bestimmten Tabelle zugeordnet sind, können Sie die WHERE-Klausel in der SHOW TRIGGERS-Anweisung verwenden. Die folgende Anweisung gibt alle Trigger zurück, die mit der Mitarbeitertabelle verknüpft sind:

AUSLÖSER VON luyaran ANZEIGEN
WO `Tabelle` = 'Mitarbeiter';

Beachten Sie hier, dass wir Backticks verwenden, um die Tabellenspalte zu umbrechen, da „table“ in MySQL ein reserviertes Schlüsselwort ist. Wenn Sie dann die Anweisung SHOW TRIGGERS ausführen, gibt MySQL die folgenden Spalten zurück:

  • Trigger: speichert den Namen des Triggers, z. B. „before_employee_update“-Trigger.
  • Ereignis: Gibt das Ereignis an, z. B. INSERT, UPDATE oder DELETE, das den Trigger aufgerufen hat.
  • Tabelle: Gibt die Tabelle an, mit der der Trigger verknüpft ist, z. B. die Mitarbeitertabelle.
  • Anweisung: Speichert die Anweisung oder zusammengesetzte Anweisung, die ausgeführt werden soll, wenn der Trigger aufgerufen wird.
  • Timing: Akzeptiert zwei Werte: VORHER und NACHHER, die den Aktivierungszeitpunkt des Auslösers angeben.
  • Erstellt: Zeichnet die Erstellungszeit auf, wenn der Trigger erstellt wird.
  • sql_mode: Gibt den SQL-Modus an, wenn der Trigger ausgeführt wird.
  • Definierer: Zeichnet das Konto auf, das den Auslöser erstellt hat.

Wir müssen hier beachten, dass wir zum Zulassen der obigen Anweisungen mindestens über das SUPER-Privileg verfügen müssen.

Versuchen wir nun, den vorhandenen Trigger mit der Anweisung DROP TRIGGER zu löschen:

DROP TRIGGER Tabellenname.Triggername;

Wenn Sie den mit der Mitarbeitertabelle verknüpften Trigger before_employees_update löschen möchten, können Sie die folgende Anweisung ausführen:

DROP TRIGGER Mitarbeiter.vor_Mitarbeiteraktualisierung;

Wenn wir einen Trigger ändern möchten, müssen wir ihn zuerst löschen und mit dem neuen Code neu erstellen. Da es in MySQL keine ALTER TRIGGER-Anweisung gibt, können wir Trigger nicht auf die gleiche Weise ändern wie andere Datenbankobjekte, z. B. Tabellen, Ansichten und gespeicherte Prozeduren.

Okay, das ist alles zu diesem Eintrag.

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Mit PHP auf die MySql-Datenbank zugreifen - logische Operationen und Beispiele zum Hinzufügen, Löschen, Ändern und Prüfen
  • PHP implementiert die objektorientierte mysqli-Erweiterungsbibliothek zum Hinzufügen, Löschen, Ändern und Abfragen von Operationstoolklassen
  • Ein einfaches Beispiel zum Hinzufügen, Löschen, Ändern und Überprüfen von PHP MySql
  • PHP+MySQL implementiert einfache Funktionen zum Hinzufügen, Löschen, Ändern und Abfragen
  • PHP + MySQL implementiert das Hinzufügen, Löschen, Ändern und Abfragen von Benutzern
  • Detaillierte MySQL-CRUD-Anweisungen zum Hinzufügen, Löschen, Ändern und Abfragen einer einzelnen Tabelle
  • Detaillierte Erläuterung des Ansichtsbeispiels zur MySQL-Ansichtsverwaltung [Hinzufügen-, Löschen-, Ändern- und Abfragevorgänge]
  • MySQL- und PHP-Grundlagen und -Anwendungen: Hinzufügen, Löschen, Ändern und Abfragen

<<:  Natives Javascript+CSS, um den Karusselleffekt zu erzielen

>>:  Tutorial zur Installation von Microsoft TrueType-Schriftarten auf Ubuntu-basierten Distributionen

Artikel empfehlen

Ist MySQL eine relationale Datenbank?

MySQL ist ein relationales Datenbankverwaltungssy...

Wie viele gängige Schleifen zur Array-Traversierung in JS kennen Sie?

Vorwort Als grundlegende Datenstruktur spielen Ar...

Bringen Sie Ihnen bei, wie Sie eine Reaktion aus HTML implementieren

Was ist React React ist eine einfache JavaScript-...

Detaillierte Beschreibung des MySQL-Ersetzens in der Verwendung

Die Ersetzungsanweisung ähnelt im Allgemeinen der...

Tomcat-Quellcodeanalyse und -Verarbeitung

Inhaltsverzeichnis Vorwort 1. Endpunkt 2. Verbind...

Wie kompliziert ist die Priorität von CSS-Stilen?

Gestern Abend habe ich mir eine Interviewfrage ang...

Implementierung der Vue-Anmeldefunktion

Inhaltsverzeichnis Vorne geschrieben Anmeldeübers...

Detaillierte Erklärung zur Erstellung von Schießspielen mit CocosCreator

Inhaltsverzeichnis Szeneneinstellung Spielressour...

Bedingte Kommentare zur Bestimmung des Browsers (IE-Reihe)

<!--[if IE 6]> Nur IE6 kann erkennen <![e...

Details zu Linux-Dateideskriptoren, Dateizeigern und Inodes

Inhaltsverzeichnis Linux - Dateideskriptor, Datei...