Database
 sql >> Datenbank >  >> RDS >> Database

SQL-UPDATE

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;