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

Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse

Auf einem Server werden drei MySQL-Instanzprozess...

vue-table implementiert das Hinzufügen und Löschen

In diesem Artikelbeispiel wird der spezifische Co...

Analysieren Sie die Prinzipien und Methoden der MySQL-Replikation und -Optimierung

1. Einleitung MySQL verfügt über eine Replikation...

So implementieren Sie eine steuerbare gepunktete Linie mit CSS

Vorwort Die Verwendung von CSS zum Generieren gep...

js, um einen simulierten Einkaufszentrumsfall zu erreichen

Freunde, die HTML-, CSS- und JS-Frontend lernen, ...

Detaillierte Erläuterung der Implementierung der Nginx-Prozesssperre

Inhaltsverzeichnis 1. Die Rolle der Nginx-Prozess...

Der gesamte Prozess der lokalen Konfiguration des Reverse-Proxys über Nginx

Vorwort Nginx ist ein leichtgewichtiger HTTP-Serv...

Implementierung der MySQL-Datentypkonvertierung

1. Problem Es gibt eine Tabelle wie unten gezeigt...

Kurze Analyse der geplanten MySQL-Sicherungsaufgaben

Einführung Um Datenverlust in einer Produktionsum...

Get/Delete-Methode zum Übergeben von Array-Parametern in Vue

Wenn Front-End und Back-End interagieren, müssen ...

MySQL ändert die Standard-Engine und Zeichensatzdetails

Inhaltsverzeichnis 1. Datenbankmodul 1.1 Datenban...