sql >> Database >  >> RDS >> Database

SQL-UPDATE

SQL-UPDATE

De SQL UPDATE-instructie wordt gebruikt naar update en wijzig de aanwezige records in een database . Het wordt gebruikt om de reeds bestaande records die zijn opgeslagen in de tabellen in de database te wijzigen. Dit commando werkt samen met WHERE clausule. De voorwaarde die is opgegeven in de UPDATE-instructie wordt gebruikt om te beslissen welke kolommen of rijen van de tabel worden beïnvloed of gewijzigd.

Het UPDATE-commando kan ook worden gebruikt om een ​​tabel door een andere tabel bij te werken. Het kan ook worden gebruikt om de datum en tijd van een SQL-query bij te werken.

SQL UPDATE DOE MEE

De SQL UPDATE-instructie kan ook worden gebruikt om een ​​tabel bij te werken met een andere tabel die via een join is verbonden. Dit staat bekend als de SQL UPDATE JOIN-instructie.

UPDATE table1, table2,
 INNER JOIN table1
 ON table1.column1 = table2.column1 
 SET table1.column1 = table2.column2
 WHERE condition

Het volgende is de basissyntaxis van de UPDATE-instructie met behulp van de JOIN-component:

Voorbeeld:

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'   

Laten we eerst de eerste tabel TAE1 maken.

 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'   

Laten we nu de tweede tabel TAE2 maken.

SELECT *
 FROM TAE1 
Kol1 Kol2 Kol3
1 11 Eerste
11 12 Tweede
21 13 Derde
31 14 Vierde

Uitvoer:

Laten we nu eens kijken naar de inhoud van de tabel TAE2.

SELECT *
 FROM TAE2

Uitvoer:

Kol1 Kol2 Kol3
1 21 Twee-een
11 22 Twee-twee
21 23 Twee-drie
31 24 Twee-vier

Nu zal de volgende query de rijen van TAE1 bijwerken waar de waarde van Col1 21 en 31 is met behulp van de tabel TAE2 waar vergelijkbare rijen zijn en waar Col1 21 en 31 is. Alleen de overeenkomstige records van Col2 en Col3 van de tabel TAE1 worden bijgewerkt .

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); 

Uitvoer:

Kol1 Kol2 Kol3
1 11 Eerste
11 12 Tweede
21 13 Twee-drie
31 14 Twee-vier

Als nu de inhoud van de tabel TAE1 wordt gecontroleerd, wordt de volgende uitvoer verkregen.

De inhoud van TAE2 blijft echter ongewijzigd.

Kol1 Kol2 Kol3
1 21 Twee-een
11 22 Twee-twee
21 23 Twee-drie
31 24 Twee-vier

Dit is een voorbeeld van het gebruik van de JOIN-component met de UPDATE-instructie. Het heeft de bovenstaande twee tabellen samengevoegd.

SQL-UPDATEDATUM

De SQL UPDATE DATE-instructie wordt gebruikt om het datum- en tijdveld in SQL bij te werken.

UPDATE table_name
 SET data_field = ‘data_value’ 
 WHERE conditions; 

Het volgende is de algemene syntaxis van het bijwerken van het datum- en tijdveld in SQL :

UPDATE table_name
 SET data_field = getdate(); 

Het volgende is de syntaxis van de datum bijwerken met de huidige datum in SQL :

UPDATE table_name
 SET data_field = CURRENT_TIMESTAMP; 

Het volgende is de syntaxis van het bijwerken van de datum en tijd met de huidige datum en tijd in SQL:

 UPDATE table_name
 SET data_field = ‘YYYY-MM-DD HH:MM:SS’;

Het volgende is de syntaxis van het bijwerken van de datum en tijd met een specifieke datum en tijd in SQL:

UPDATE table_name
 SET data_field = CAST(‘date_value’ AS DATETIME); 

Het volgende is de syntaxis van het bijwerken van de datum met een specifieke waarde wanneer het formaat van de datum niet bekend is:

Voorbeeld:

UPDATE Employee
 SET DOJ = ‘2021-07-05’ 
 WHERE Dept_ID = 10; 

Het volgende is een voorbeeld van het bijwerken van de datum in meerdere rijen in de gegeven Werknemer tafel.

Emp_ID Emp_Name Aanduiding Manager_ID DOJ Salaris Dept_ID
1 Emp1 Directeur 2021-07-11 45000 10
2 Emp2 Directeur 2021-07-11 40000 20
3 Emp3 Beheerder Emp1 2021-07-11 27000 10
4 Emp4 Beheerder 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 Bediende Emp3 2021-07-11 15000 10
8 Emp8 Verkoper Emp4 21-09-09 14000 20
9 Emp9 Verkoper Emp4 2021-10-08 13000 20

Vraag:

Uitvoer:

Emp_ID Emp_Name Aanduiding Manager_ID DOJ Salaris Dept_ID
1 Emp1 Directeur 201-07-05 45000 10
3 Emp3 Beheerder 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 Bediende Emp3 2021-07-05 15000 10

Zo is de DOJ-kolom voor alle medewerkers met Dept_ID 10 bijgewerkt.

Het volgende is een voorbeeld van het bijwerken van de toelatingsdatum in een studententabel met behulp van de CAST-functie:

UPDATE student
SET admission_date = CAST(‘2021-04-10’ AS DATETIME)
WHERE id = 42;


  1. Voeg meerdere rijen in ZONDER het INSERT INTO ...-gedeelte van de instructie te herhalen?

  2. Waarom mijn pessimistische Locking in JPA met Oracle niet werkt

  3. Django oracle db-instellingen

  4. SQL WHERE Meerdere voorwaarden