Aktualisieren Sie mehrere Tabellen mit einer Abfrage in MySQL
- Vorteile der Aktualisierung mehrerer Tabellen mit einer Abfrage in MySQL
-
Verwenden Sie das Schlüsselwort
UPDATE
, um mehrere Tabellen mit einer Abfrage in MySQL zu aktualisieren
Es kann Fälle geben, in denen ein Benutzer gleichzeitige Aktualisierungen in der logisch verknüpften Tabelle vornehmen möchte. Diese logisch zusammenhängenden Tabellen werden über einige Attribute miteinander verknüpft.
Vorteile der Aktualisierung mehrerer Tabellen mit einer Abfrage in MySQL
Ähnliche Attribute innerhalb der Tabellen werden verwendet, um eine Aktualisierungsabfrage zu erstellen. Die Aktualisierungsabfrage führt basierend auf Bedingungen mehrere Zeilenaktualisierungen in verschiedenen Tabellen durch.
Die Aktualisierungsabfragen für mehrere Tabellen sind geeignet, wenn eine ähnliche Situation auftritt. Die Vorteile der Verwendung dieser Abfrage zur Aktualisierung mehrerer Tabellen sind:
- Dies führt zu Aktualisierungen in Zeilen auf einmal, anstatt einzelne Aktualisierungen in jeder Tabelle vorzunehmen.
- Dies verringert auch die Gesamtzeit zum Aktualisieren von Einträgen in verschiedenen Tabellen.
- Dies verringert die Wahrscheinlichkeit von inkonsistenten Aktualisierungen in Tabellen.
- Ähnliche Antwort von allen Tischen zu einem bestimmten Zeitpunkt.
Verwenden Sie das Schlüsselwort UPDATE
, um mehrere Tabellen mit einer Abfrage in MySQL zu aktualisieren
In der Mehrfachtabellen-Aktualisierungsabfrage wird jeder Datensatz, der eine Bedingung erfüllt, aktualisiert. Auch wenn die Kriterien mehrmals übereinstimmen, wird die Zeile nur einmal aktualisiert.
Die Syntax zum Aktualisieren mehrerer Tabellen kann nicht mit den Schlüsselwörtern ORDER BY
und LIMIT
verwendet werden.
Die Syntax für das Schlüsselwort UPDATE
:
UPDATE table1, table2, ...
SET column1 = value1,
column2 = value2,
...
[WHERE conditions]
Multiple Update ist kein kombiniertes Schlüsselwort, das in der MySQL-Sprache vorhanden ist. Die Syntax wird durch die Kombination verschiedener Schlüsselwörter gebildet, die bei der Gruppierung von zwei oder mehr Tabellen helfen, wie das Schlüsselwort join
.
Die Join-Typen werden verwendet, um mit einer einzelnen Abfrage mehrere Tabellen gleichzeitig zu aktualisieren. Lassen Sie uns dies verstehen, indem Sie mehrere Tabellen gleichzeitig aktualisieren.
Betrachten Sie zwei Tabellen mit den Namen library
und stu_book
. Und betrachten Sie den Fall, wenn ein Buch von der Bibliothek an einen Studenten ausgegeben wird.
Die Anzahl der Bücher in der Bibliothek nimmt ab, während die Anzahl der Bücher mit Studenten zunimmt. Und das ist das Szenario, in dem zwei separate Aufrufe erforderlich sind.
Um separate Aktualisierungen in einer RDBMS-Tabelle zu vermeiden, aktualisieren wir die Zeilen in zwei Tabellen mit einer einzigen Abfrage. Unten ist die Liste der Anweisungen, die vor dem Aktualisierungsaufruf ausgeführt werden sollen.
Liste der Abfragen vor der eigentlichen Abfrage auf Tabellen:
-
Erstellen Sie zwei Entitäten namens
library
undstu_book
. -
Das Schema für die beiden ist unten geteilt:
-
Fügen Sie einige gemeinsame Werte einzeln in Tabellen ein, wie unten gezeigt.
-
Versuchen Sie, den Anwendungsfall zu implementieren, indem Sie in beiden Tabellen gleichzeitige Erhöhungen oder Verringerungen vornehmen.
Abfrage zum Ausführen der MySQL-Anweisung:
UPDATE library l, stu_book s
SET l.book_count = l.book_count - 2,
s.book_count = s.book_count + 2
WHERE l.id = s.book_id;
In der obigen Abfrage kombiniert der innere Join intern die beiden Tabellen und bearbeitet die kombinierte Tabelle, nachdem er die Einschränkungen für die Tabellen überprüft hat. Wenn kein Schlüsselwort angegeben wird, wird der innere Join angewendet.
Joins wie äußerer Join, der richtige äußere Join, der Benutzer sollte das richtige Schlüsselwort verwenden. Die Verknüpfung kann nur in den Fällen durchgeführt werden, in denen die beiden gruppierten Tabellen ein ähnliches/übereinstimmendes Attribut haben.
Das Schlüsselwort SET
wird zusammen mit dem Schlüsselwort UPDATE
verwendet, um die neuen Werte in bestehenden Zeilen festzulegen. Es überschreibt die älteren Werte, indem es neue Daten darüber schreibt.
Hier aktualisiert set die Bücheranzahl der Tabelle stu_book
, und die gleiche Anzahl von Zählungen wird von der Bücheranzahl der Bibliothek
verringert.
Die Anzahl wird nicht für alle Zeilen beider Tabellen aktualisiert. Stattdessen wird die Einschränkung durch das Schlüsselwort WHERE
festgehalten.
Das Schlüsselwort WHERE
führt die eigentliche Filterung der Zeilen durch. Das Schlüsselwort filtert die Zeile, nachdem Bedingungen in Tabellen überprüft wurden.
Hier besagt dieses Schlüsselwort, dass library_id
mit book_id
der Tabelle stu_book
übereinstimmen sollte.
Die Ausgabe listet das Ergebnis für die Gesamtzahl der betroffenen Zeilen in beiden Tabellen auf. Unten ist die Ausgabe, die die Anzahl der betroffenen Zeilen bestätigt.
Query OK, 2 rows affected (0.02 sec)
Rows matched: 2 Changed: 2 Warnings: 0
Unten ist die endgültige Ausgabe für die obige Abfrage in der lokalen Ausführungsumgebung oder Eingabeaufforderung.
Screenshot der lokalen Ausführung:
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedInVerwandter Artikel - MySQL Table
- Alle Zeilen einer MySQL-Tabelle durchlaufen
- Kopieren Sie Tabellenstrukturen, ohne Daten in MySQL zu kopieren
- Rufen Sie die ID des zuletzt eingefügten Datensatzes in MySQL ab
- Sichern Sie eine einzelne Tabelle mit Mysqldump
- Tabellen- und Datenbankstruktur in MySQL anzeigen
- Unterschied zwischen zwei Tabellen in MySQL