Database
 sql >> Baza danych >  >> RDS >> Database

AKTUALIZACJA SQL

AKTUALIZACJA SQL

Instrukcja SQL UPDATE jest wykorzystana do aktualizować i modyfikować rekordy obecne w bazie danych . Służy do zmiany już istniejących rekordów przechowywanych w tabelach w bazie danych. To polecenie działa razem z WHERE klauzula. Warunek określony w instrukcji UPDATE służy do decydowania, które kolumny lub wiersze tabeli zostaną zmienione lub zmienione.

Polecenia UPDATE można również użyć do aktualizacji tabeli o inną tabelę. Może być również używany do aktualizacji daty i godziny zapytania SQL.

DOŁĄCZENIE DO AKTUALIZACJI SQL

Instrukcja SQL UPDATE może być również wykorzystana do aktualizacji jednej tabeli przy użyciu innej tabeli, która jest połączona złączeniem. Jest to znane jako instrukcja SQL UPDATE JOIN.

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

Poniżej znajduje się podstawowa składnia instrukcji UPDATE z klauzulą ​​JOIN:

Przykład:

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'   

Najpierw utwórzmy pierwszą tabelę 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'   

Teraz utwórzmy drugą tabelę TAE2.

SELECT *
 FROM TAE1 
Kol1 Kol2 Kol3
1 11 Pierwszy
11 12 Drugi
21 13 Trzeci
31 14 Czwarty

Wyjście:

Zobaczmy teraz zawartość tabeli TAE2.

SELECT *
 FROM TAE2

Wyjście:

Kol1 Kol2 Kol3
1 21 Dwa-jeden
11 22 Dwa-dwa
21 23 Dwa-trzy
31 24 Dwa-cztery

Teraz następujące zapytanie zaktualizuje wiersze TAE1, gdzie wartość Col1 wynosi 21 i 31, używając tabeli TAE2, gdzie istnieją podobne wiersze i gdzie Col1 to 21 i 31. Tylko odpowiadające rekordy Col2 i Col3 tabeli TAE1 zostaną zaktualizowane .

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

Wyjście:

Kol1 Kol2 Kol3
1 11 Pierwszy
11 12 Drugi
21 13 Dwa-trzy
31 14 Dwa-cztery

Teraz, jeśli zawartość tabeli TAE1 jest zaznaczona, uzyskany zostanie następujący wynik.

Jednak zawartość TAE2 pozostaje niezmieniona.

Kol1 Kol2 Kol3
1 21 Dwa-jeden
11 22 Dwa-dwa
21 23 Dwa-trzy
31 24 Dwa-cztery

To jest przykład użycia klauzuli JOIN z instrukcją UPDATE. Połączył powyższe dwie tabele.

DATA AKTUALIZACJI SQL

Instrukcja SQL UPDATE DATE służy do aktualizacji pola daty i czasu w SQL.

UPDATE table_name
 SET data_field = ‘data_value’ 
 WHERE conditions; 

Poniżej znajduje się ogólna składnia aktualizowania pola daty i godziny w SQL :

UPDATE table_name
 SET data_field = getdate(); 

Poniżej znajduje się składnia aktualizowania daty o bieżącą datę w SQL :

UPDATE table_name
 SET data_field = CURRENT_TIMESTAMP; 

Poniżej znajduje się składnia aktualizowania daty i godziny o bieżącą datę i godzinę w SQL:

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

Poniżej przedstawiono składnię aktualizowania daty i godziny o konkretną datę i godzinę w SQL:

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

Poniżej przedstawiono składnię aktualizowania daty o określoną wartość, gdy format daty nie jest znany:

Przykład:

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

Poniżej znajduje się przykład aktualizacji daty w wielu wierszach u danego Pracownika tabela.

Emp_ID Emp_Name Oznaczenie ID_kierownika DOJ Wynagrodzenie ID_działu
1 Emp1 Dyrektor 2021-07-11 45000 10
2 Praca2 Dyrektor 2021-07-11 40000 20
3 Emp3 Menedżer Emp1 2021-07-11 27 000 10
4 Emp4 Menedżer Praca2 2021-10-08 25000 20
5 Emp5 Analityk Emp3 2021-07-11 20000 10
6 Emp6 Analityk Emp3 2021-10-08 18000 10
7 Emp7 Urzędnik Emp3 2021-07-11 15000 10
8 Emp8 Sprzedawca Emp4 2021-09-09 14000 20
9 Emp9 Sprzedawca Emp4 2021-10-08 13000 20

Zapytanie:

Wyjście:

Emp_ID Emp_Name Oznaczenie ID_kierownika DOJ Wynagrodzenie ID_działu
1 Emp1 Dyrektor 2021-07-05 45000 10
3 Emp3 Menedżer Emp1 2021-07-05 27 000 10
5 Emp5 Analityk Emp3 2021-07-05 20000 10
6 Emp6 Analityk Emp3 2021-07-05 18000 10
7 Emp7 Urzędnik Emp3 2021-07-05 15000 10

W związku z tym zaktualizowano kolumnę DOJ dla wszystkich pracowników posiadających Dept_ID 10.

Poniżej znajduje się przykład aktualizacji daty przyjęcia w tabeli studenckiej za pomocą funkcji CAST:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DNA kontra nowoczesne metody tworzenia kopii zapasowych:przyszłość przechowywania danych

  2. Najlepsze podejścia do zgrupowanych sum biegowych

  3. Podłączanie PowerShell do Salesforce.com

  4. Do czego służy instrukcja SQL GROUP BY?

  5. Przykład poprawy wydajności zapytań za pomocą indeksów