SQL-AKTUALISIERUNG
Die SQL UPDATE-Anweisung wird verwendet an aktualisieren und ändern Sie die vorhandenen Datensätze in einer Datenbank . Es wird verwendet, um die bereits vorhandenen Datensätze zu ändern, die in den Tabellen in der Datenbank gespeichert sind. Dieser Befehl wird zusammen mit WHERE verwendet Klausel. Die in der UPDATE-Anweisung angegebene Bedingung wird verwendet, um zu entscheiden, welche Spalten oder Zeilen der Tabelle betroffen oder geändert werden.
Der UPDATE-Befehl kann auch verwendet werden, um eine Tabelle durch eine andere Tabelle zu aktualisieren. Es kann auch verwendet werden, um das Datum und die Uhrzeit einer SQL-Abfrage zu aktualisieren.
SQL-AKTUALISIERUNGSVERBINDUNG
Die SQL UPDATE-Anweisung kann auch verwendet werden, um eine Tabelle mithilfe einer anderen Tabelle zu aktualisieren, die durch einen Join verbunden sind. Dies wird als SQL UPDATE JOIN-Anweisung bezeichnet.
UPDATE table1, table2, INNER JOIN table1 ON table1.column1 = table2.column1 SET table1.column1 = table2.column2 WHERE condition
Das Folgende ist die grundlegende Syntax der UPDATE-Anweisung unter Verwendung der JOIN-Klausel:
Beispiel:
CREATE TABLE TAE1 (Col1 INT, Col2 INT, Col3 VARCHAR (100)) INSERT INTO TAE1 (Col1, Col2, Col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH'
Erstellen wir zunächst die erste Tabelle TAE1.
CREATE TABLE TAE2 (Col1 INT, Col2 INT, Col3 VARCHAR (100)) INSERT INTO TAE2 (Col1, Col2, Col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11,22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR'
Lassen Sie uns nun die zweite Tabelle TAE2 erstellen.
SELECT * FROM TAE1
Spalte1 | Col2 | Col3 |
1 | 11 | Zuerst |
11 | 12 | Zweiter |
21 | 13 | Dritter |
31 | 14 | Vierte |
Ausgabe:
Sehen wir uns nun den Inhalt der Tabelle TAE2 an.
SELECT * FROM TAE2
Ausgabe:
Spalte1 | Col2 | Col3 |
1 | 21 | Zwei-eins |
11 | 22 | Zwei-zwei |
21 | 23 | Zwei-drei |
31 | 24 | Zwei-vier |
Nun aktualisiert die folgende Abfrage die Zeilen von TAE1, wo der Wert von Col1 21 und 31 ist, unter Verwendung der Tabelle TAE2, wo es ähnliche Zeilen gibt und wo Col1 21 und 31 ist. Nur die entsprechenden Datensätze von Col2 und Col3 der Tabelle TAE1 werden aktualisiert .
UPDATE TAE1 SET Col2 = TAE2.Col2, Col3 = TAE2.Col3 FROM TAE1 INNER JOIN TAE2 ON TAE1.Col1 = TAE2.Col1 WHERE TAE1.Col1 IN (21, 31);
Ausgabe:
Spalte1 | Col2 | Col3 |
1 | 11 | Zuerst |
11 | 12 | Zweiter |
21 | 13 | Zwei-drei |
31 | 14 | Zwei-vier |
Wenn nun der Inhalt der Tabelle TAE1 geprüft wird, erhält man folgende Ausgabe.
Der Inhalt von TAE2 bleibt jedoch unverändert.
Spalte1 | Col2 | Col3 |
1 | 21 | Zwei-eins |
11 | 22 | Zwei-zwei |
21 | 23 | Zwei-drei |
31 | 24 | Zwei-vier |
Dies ist ein Beispiel für die Verwendung der JOIN-Klausel mit der UPDATE-Anweisung. Es hat die beiden obigen Tabellen zusammengeführt.
SQL-AKTUALISIERUNGSDATUM
Die SQL-Anweisung UPDATE DATE wird verwendet, um das Datums- und Zeitfeld in SQL zu aktualisieren.
UPDATE table_name SET data_field = ‘data_value’ WHERE conditions;
Das Folgende ist die allgemeine Syntax zum Aktualisieren des Datums- und Zeitfelds in SQL :
UPDATE table_name SET data_field = getdate();
Das Folgende ist die Syntax zum Aktualisieren des Datums mit dem aktuellen Datum in SQL :
UPDATE table_name SET data_field = CURRENT_TIMESTAMP;
Das Folgende ist die Syntax zum Aktualisieren von Datum und Uhrzeit mit dem aktuellen Datum und der aktuellen Uhrzeit in SQL:
UPDATE table_name SET data_field = ‘YYYY-MM-DD HH:MM:SS’;
Das Folgende ist die Syntax zum Aktualisieren von Datum und Uhrzeit mit einem bestimmten Datum und einer bestimmten Uhrzeit in SQL:
UPDATE table_name SET data_field = CAST(‘date_value’ AS DATETIME);
Das Folgende ist die Syntax zum Aktualisieren des Datums mit einem bestimmten Wert, wenn das Datumsformat nicht bekannt ist:
Beispiel:
UPDATE Employee SET DOJ = ‘2021-07-05’ WHERE Dept_ID = 10;
Das Folgende ist ein Beispiel für die Aktualisierung des Datums in mehreren Zeilen im angegebenen Employee Tabelle.
Emp_ID | Emp_Name | Bezeichnung | Manager_ID | DOJ | Gehalt | Abteilungs-ID |
1 | Emp1 | Direktor | 2021-07-11 | 45000 | 10 | |
2 | Emp2 | Direktor | 2021-07-11 | 40000 | 20 | |
3 | Emp3 | Manager | Emp1 | 2021-07-11 | 27000 | 10 |
4 | Emp4 | Manager | Emp2 | 2021-10-08 | 25000 | 20 |
5 | Emp5 | Analyst | Emp3 | 2021-07-11 | 20000 | 10 |
6 | Emp6 | Analyst | Emp3 | 2021-10-08 | 18000 | 10 |
7 | Emp7 | Angestellter | Emp3 | 2021-07-11 | 15000 | 10 |
8 | Emp8 | Verkäufer | Emp4 | 2021-09-09 | 14000 | 20 |
9 | Emp9 | Verkäufer | Emp4 | 2021-10-08 | 13000 | 20 |
Abfrage:
Ausgabe:
Emp_ID | Emp_Name | Bezeichnung | Manager_ID | DOJ | Gehalt | Abteilungs-ID |
1 | Emp1 | Direktor | 2021-07-05 | 45000 | 10 | |
3 | Emp3 | Manager | Emp1 | 2021-07-05 | 27000 | 10 |
5 | Emp5 | Analyst | Emp3 | 2021-07-05 | 20000 | 10 |
6 | Emp6 | Analyst | Emp3 | 2021-07-05 | 18000 | 10 |
7 | Emp7 | Angestellter | Emp3 | 2021-07-05 | 15000 | 10 |
Daher wurde die DOJ-Spalte für alle Mitarbeiter mit Dept_ID 10 aktualisiert.
Im Folgenden finden Sie ein Beispiel für die Aktualisierung des Zulassungsdatums in einer Studententabelle mithilfe der CAST-Funktion:
UPDATE student
SET admission_date = CAST(‘2021-04-10’ AS DATETIME)
WHERE id = 42;