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

So verwenden Sie das Videowiedergabe-Plugin DPlayer.js

Das Videoplayer-Plugin DPlayer.js ist einfach zu ...

Detaillierte Schritte zum Konfigurieren virtueller Hosts in nginx

Virtuelle Hosts verwenden spezielle Software- und...

Lassen Sie uns über Parameter in MySQL sprechen

Vorwort: In einigen früheren Artikeln haben wir h...

Detaillierte Erklärung der Stile in uni-app

Inhaltsverzeichnis Stile in uni-app Zusammenfasse...

Detaillierte Erklärung des Prinzips zum Erstellen von Tomcat in Eclipse

Beim Erstellen eines Tomcat-Servers auf einem lok...

Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

In diesem Artikelbeispiel wird der spezifische JS...

CSS3-Mauszeiger-Übergangszoomeffekt

Das Folgende ist ein Bild-Zoom-Effekt, der in rei...

Einfaches Tutorial zur Verwendung von Navicat für MySQL

empfehlen: Detailliertes Tutorial zur Registrieru...

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikel wird der spezifische Code von V...

Javascript zum Wechseln von Bildern per Mausklick

In diesem Artikelbeispiel wird der spezifische Ja...

Erste Schritte mit dem Animieren von SVG-Pfadstrichen mit CSS3

Ohne auf JavaScript angewiesen zu sein, wird rein...

Professionelles und nicht-professionelles Webdesign

Zunächst einmal hängt die Gestaltung des Webseiten...

Wichtige Hinweise zu PHP-HTMLhtml-Wissenspunkten (unbedingt lesen)

1. Verwenden Sie Frameset, Frame und Iframe, um m...