Mysql aktualisiert die Datenbank dynamisch - Skriptbeispiel - Erklärung

Mysql aktualisiert die Datenbank dynamisch - Skriptbeispiel - Erklärung

Das spezifische upgrade -Skript lautet wie folgt:

Indizes dynamisch löschen

DROP-VERFAHREN, WENN EIN UPGRADE VORHANDEN IST;
TRENNUNGSZEICHEN $$
PROZEDUR-UPGRADE ERSTELLEN()
BEGINNEN
-- RESOURCE.AUDIO_ATTRIBUTE
 WENN VORHANDEN (AUSWÄHLEN * AUS INFORMATION_SCHEMA.STATISTICS, WO TABLE_SCHEMA = ‚RESSOURCE‘ UND TABLE_NAME = ‚AUDIO_ATTRIBUTE‘ UND INDEX_NAME = ‚Ressource_Publish_Ressource_ID_Index‘)
  DANN 
    ALTER TABLE `AUDIO_ATTRIBUTE` DROP INDEX resource_publish_resource_id_index;
 ENDE, WENN;
ENDE$$
TRENNUNGSZEICHEN ;
Rufen Sie Upgrade() auf;
DROP-VERFAHREN, WENN EIN UPGRADE VORHANDEN IST;

Dynamisches Hinzufügen von Feldern

DROP-VERFAHREN, WENN EIN UPGRADE VORHANDEN IST;
TRENNUNGSZEICHEN $$
PROZEDUR-UPGRADE ERSTELLEN()
BEGINNEN
-- HAUSAUFGABE.HAUSAUFGABE_QUESTION_GROUP.FROM_ID
 WENN NICHT EXISTIERT (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME = 'HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'FROM_ID')
  DANN 
    ALTER TABLE `HOMEWORK_QUESTION_GROUP` ADD COLUMN FROM_ID VARCHAR(50) NULL;
 ENDE, WENN;
-- HAUSAUFGABEN.HAUSAUFGABEN_FRAGENGRUPPE.FRAGETYP
 WENN NICHT EXISTIERT (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HOMEWORK' AND TABLE_NAME = 'HOMEWORK_QUESTION_GROUP' AND COLUMN_NAME = 'QUESTION_TYPE')
  DANN 
    ALTER TABLE `HOMEWORK_QUESTION_GROUP` ADD COLUMN QUESTION_TYPE VARCHAR(50) NULL;
 ENDE, WENN;
--HOMEWORK.HOMEWORK_QUESTION_GROUP.DIFFICULTY
 WENN NICHT EXISTIERT (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'HAUSAUFGABEN' AND TABLE_NAME = 'HAUSAUFGABEN_FRAGENGRUPPE' AND COLUMN_NAME = 'SCHWIERIGKEIT')
  DANN 
    ALTER TABLE `HOMEWORK_QUESTION_GROUP` ADD COLUMN DIFFICULTY VARCHAR(50) NULL;
 ENDE, WENN;
ENDE$$
TRENNUNGSZEICHEN ;
Rufen Sie Upgrade() auf;
DROP-VERFAHREN, WENN EIN UPGRADE VORHANDEN IST;

Die anderen Syntaxen sind ähnlich, unterscheiden sich hauptsächlich zwischen der Verwendung von EXISTS und NOT EXISTS .

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Implementierungscode für den Zugriff auf mehrere Datenbanken durch die Spring Boot-Konfiguration dynamischer Datenquellen
  • Detaillierte Erläuterung zum Erstellen geplanter Aufgaben mit SpringBoot (dynamische Ausführung mit Datenbank)
  • Beispiel einer in asp.net implementierten MVC-Funktion für datenbankübergreifende und gemeinsame dynamische Bedingungsabfragen mit mehreren Tabellen
  • Tutorial zur dynamischen SQL-Abfrage einer Datenbank im MyBatis-Framework von Java
  • Yii-Operationsdatenbank zur Realisierung der Methode zum dynamischen Abrufen von Tabellennamen
  • So erstellen Sie dynamisch eine Access-Datenbank und -Tabelle in C#
  • ext Combobox lädt Datenbankdaten dynamisch (mit Front- und Backend)
  • Beispiel für dynamisches Laden einer Ajax-Datenbank
  • C# ASP .NET-Methode zum dynamischen Erstellen einer SQL-Datenbanktabelle
  • JavaScript fügt Tabellendatenzeilen dynamisch hinzu (Beispiel für ASP-Hintergrunddatenbankspeicher)

<<:  So installieren Sie Nginx unter Win10

>>:  Drei Beispiele für Node.js-Methoden zum Abrufen von Formulardaten

Artikel empfehlen

Beispielcode zum Erstellen eines minimierten Header-Effekts nur mit CSS

Zusammengeklappte Kopfzeilen sind eine großartige...

Beispiel für eine Methode zur Überprüfung des Status einer Linux-Firewall

So überprüfen Sie den Status der Linux-Firewall 1...

So führen Sie geplante PHP-Aufgaben in CentOS7 aus

Vorwort Dieser Artikel stellt hauptsächlich den r...

Methode zum Erkennen, ob IP und Port verbindbar sind

Windows cmd Telnet Format: Telnet-IP-Port Fall: T...

MySQL-Datenbanktabellendesign mit Baumstruktur

Inhaltsverzeichnis Vorwort 1. Basisdaten 2. Verer...

Eine kurze Diskussion über die Definition und Vorsichtsmaßnahmen von H-Tags

Den Ergebnissen zufolge gibt es für die Definitio...

Detaillierte Erklärung der dynamischen Angular-Komponenten

Inhaltsverzeichnis Anwendungsszenarien So erreich...

Einführung in die Rolle des HTML-Doctypes

Der Dokumentmodus verfügt über die folgenden zwei ...

Was Sie über die automatische ID-Inkrementierung in MySQL wissen müssen

Einführung: Wenn wir MySQL zum Erstellen einer Ta...

mysql-8.0.17-winx64 Bereitstellungsmethode

1. Laden Sie mysql-8.0.17-winx64 von der offiziel...