1.MySQL UPDATE JOIN-Syntax In MySQL können Sie die AKTUALISIERUNG T1, T2, [INNER JOIN | LEFT JOIN] T1 AUF T1.C1 = T2.C1 SETZE T1.C2 = T2.C2, T2.C3 = Ausdruck WHERE-Bedingung Betrachten wir die MySQL Geben Sie zunächst nach der Geben Sie zweitens den zu verwendenden Verknüpfungstyp ( Drittens müssen Sie den Spalten in Viertens werden die Bedingungen in der WHERE-Klausel verwendet, um die zu aktualisierenden Zeilen anzugeben. 2. Beispiel Zunächst verwenden wir in diesen Beispielen eine neue Beispieldatenbank (
Die folgenden Anweisungen erstellen Tabellen und importieren Daten in die Beispieldatenbank Datenbank erstellen, falls nicht vorhanden, empdb; VERWENDEN Sie empdb; --Tabellen erstellen CREATE TABLE Vorteile ( Leistung INT(11) NOT NULL, Prozentsatz FLOAT NOT NULL, PRIMÄRSCHLÜSSEL (Leistung) ); CREATE TABLE Mitarbeiter ( emp_id INT(11) NICHT NULL AUTO_INCREMENT, emp_name VARCHAR(255) NICHT NULL, Leistung INT(11) DEFAULT NULL, Gehalt FLOAT DEFAULT NULL, PRIMÄRSCHLÜSSEL (emp_id), CONSTRAINT fk_performance FOREIGN KEY (Leistung) REFERENZEN Verdienste (Leistung) ); -- Daten für die Leistungstabelle einfügen INSERT INTO merits(Leistung, Prozentsatz) WERTE(1,0), (2,0,01), (3,0,03), (4,0,05), (5,0,08); -- Daten für die Mitarbeitertabelle einfügen INSERT INTO Mitarbeiter(Mitarbeitername, Leistung, Gehalt) WERTE('Mary Doe', 1, 50000), ('Cindy Minsu', 3, 65000), ('Sue Greenspan', 4, 75000), ('Grace Dell', 5, 125000), ('Nancy Johnson', 3, 85000), ('Max Mustermann', 2, 45000), ('Lily Bush', 3, 55000); 2.1 MySQL UPDATE JOIN Beispiel mit INNER JOIN Klausel Angenommen, Sie möchten das Gehalt eines Mitarbeiters auf Grundlage seiner Arbeitsleistung anpassen. Wie funktioniert die obige Abfrage? mysql> select * from employees; -- Aktualisieren Sie die vorherigen Daten+--------+-----------+-------------+--------+ | emp_id | emp_name | Leistung | Gehalt | +--------+--------------+-------------+--------+ | 1 | Maria Doe | 1 | 50000 | | 2 | Cindy Minsu | 3 | 65000 | | 3 | Sue Greenspan | 4 | 75000 | | 4 | Grace Dell | 5 | 125000 | | 5 | Nancy Johnson | 3 | 85000 | | 6 | Max Mustermann | 2 | 45000 | | 7 | Lilienbusch | 3 | 55000 | +--------+--------------+-------------+--------+ 7 Reihen im Set mysql> UPDATE Mitarbeiter Innerer Join Verdienste EIN Mitarbeiter.Leistung = Verdienste.Leistung SATZ Gehalt = Gehalt + Gehalt * Prozentsatz; -- Verbindungsaktualisierungsabfrage ausführen OK, 6 Zeilen betroffen Übereinstimmende Zeilen: 7 Geändert: 6 Warnungen: 0 mysql> select * from employees; -- Aktualisierte Daten+--------+-----------+-------------+--------+ | emp_id | emp_name | Leistung | Gehalt | +--------+--------------+-------------+--------+ | 1 | Maria Doe | 1 | 50000 | | 2 | Cindy Minsu | 3 | 66950 | | 3 | Sue Greenspan | 4 | 78750 | | 4 | Grace Dell | 5 | 135000 | | 5 | Nancy Johnson | 3 | 87550 | | 6 | Max Mustermann | 2 | 45450 | | 7 | Lilienbusch | 3 | 56650 | +--------+--------------+-------------+--------+ 7 Reihen im Set Da die UPDATE Mitarbeiter Innerer Join Verdienste EIN Mitarbeiter.Leistung = Verdienste.Leistung SATZ Gehalt = Gehalt + Gehalt * Prozentsatz WO Mitarbeiter.Leistung > 1; 2.2 MySQL UPDATE JOIN Beispiel mit LEFT JOIN Angenommen, das Unternehmen hat zwei neue Mitarbeiter eingestellt: INSERT INTO Mitarbeiter(Mitarbeitername, Leistung, Gehalt) WERTE('Jack William',NULL,43000), ('Ricky Bond', NULL, 52000); Da es sich bei diesen Mitarbeitern um Neueinstellungen handelt, sind ihre mysql> SELECT * FROM Mitarbeiter; +--------+--------------+-------------+--------+ | emp_id | emp_name | Leistung | Gehalt | +--------+--------------+-------------+--------+ | 1 | Maria Doe | 1 | 50000 | | 2 | Cindy Minsu | 3 | 66950 | | 3 | Sue Greenspan | 4 | 78750 | | 4 | Grace Dell | 5 | 135000 | | 5 | Nancy Johnson | 3 | 87550 | | 6 | Max Mustermann | 2 | 45450 | | 7 | Lilienbusch | 3 | 56650 | | 8 | Jack William | NULL | 43000 | | 9 | Ricky Bond | NULL | 52000 | +--------+--------------+-------------+--------+ 9 Reihen im Set Zum Berechnen des Gehalts neuer Mitarbeiter können Sie die Anweisung UPDATE Mitarbeiter LINKS VERBINDEN Verdienste EIN Mitarbeiter.Leistung = Verdienste.Leistung SATZ Gehalt = Gehalt + Gehalt * 0,015 WO merits.percentage IST NULL; Die Ausführungsergebnisse sind wie folgt: mysql> UPDATE Mitarbeiter LINKS VERBINDEN Verdienste EIN Mitarbeiter.Leistung = Verdienste.Leistung SATZ Gehalt = Gehalt + Gehalt * 0,015 WO merits.percentage IST NULL; Abfrage OK, 2 Zeilen betroffen Übereinstimmende Zeilen: 2 Geändert: 2 Warnungen: 0 mysql> wähle * aus Mitarbeitern; +--------+--------------+-------------+--------+ | emp_id | emp_name | Leistung | Gehalt | +--------+--------------+-------------+--------+ | 1 | Maria Doe | 1 | 50000 | | 2 | Cindy Minsu | 3 | 66950 | | 3 | Sue Greenspan | 4 | 78750 | | 4 | Grace Dell | 5 | 135000 | | 5 | Nancy Johnson | 3 | 87550 | | 6 | Max Mustermann | 2 | 45450 | | 7 | Lilienbusch | 3 | 56650 | | 8 | Jack William | NULL | 43645 | | 9 | Ricky Bond | NULL | 52780 | +--------+--------------+-------------+--------+ 9 Reihen im Set Beispiel # Einzelne Tabellenverknüpfung Aktualisiere bbs_uhome_card_activate ca INNER JOIN bbs_uhome_card_rules cr auf ca.card_brach=cr.card_bach, setze ca.create_user=cr.create_user; # Verknüpfung mehrerer Tabellen UPDATE bbs_uhome_card_order co INNER JOIN bbs_uhome_card_order_record cor on co.order_no=cor.order_no JOIN bbs_uhome_card_activate ca on cor.card_no=ca.card_no set co.create_user=ca.create_user Dies ist das Ende dieses Artikels über das ausführliche Beispiel für MySQL-Joint-Table-Update-Daten. Weitere relevante MySQL-Joint-Table-Update-Daten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: JavaScript zum Erreichen eines dynamischen Farbwechsels der Tabelle
Vorwort Wir müssen bestimmte Daten abrufen, die d...
Die Benutzerorganisation verfügt über zwei Window...
„Cellspacing“ ist der Abstand zwischen den Zellen ...
Inhaltsverzeichnis 1. Verteilte LNMP-Image-Produk...
Kürzlich wurden zwei Konten auf dem Server gehack...
1. Setzen Sie den HTML-Code der Maskenebene und d...
1. MySQL herunterladen URL: https://dev.mysql.com...
Im System werden viele Befehle verwendet. Wie kön...
XHTML ist die Grundlage des CSS-Layouts. jb51.net...
Beim Absenden eines Formulars kann es vorkommen, d...
Ich freue mich, dass einige Blogger meinen Artike...
1. Adresse herunterladen https://dev.mysql.com/do...
In diesem Artikel wird der spezifische Code des P...
Inhaltsverzeichnis Wenn Sie mehrere Variablen gle...
Inhaltsverzeichnis 1. Truncate-Operation 1.1 Welc...