SOMMARIO: Questo articolo esamina come utilizzare i tipi basic data Manipulation language (DML) INSERT, UPDATE, UPDATE JOIN, DELETE e UPSERT per modificare i dati nelle tabelle.,
- Data Manipulation Language (DML)
- Istruzione DML Tipi
- INSERT
- Istruzione UPDATE
- AGGIORNAMENTO con le JOIN
- DELETE
- UPSERT
Data Manipulation Language (DML)
DML istruzione viene eseguita quando:
- Aggiungere nuove righe di una tabella.
- Modifica le righe esistenti in una tabella.
- Rimuove le righe esistenti da una tabella.,
Istruzione DML Tipi
- INSERISCI
- AGGIORNAMENTO
- ELIMINA
INSERT
È possibile aggiungere nuove righe di una tabella utilizzando l’istruzione INSERT:
la Sintassi
INSERT INTO table )] VALUES (value );
Con la sintassi precedente, solo viene inserita una riga alla volta.
a) Inserisci nuove righe: inserisci nuove righe per ogni colonna.,
Table Structure
Example
INSERT INTO departments(department_id,department_name,manager_id, location_id) VALUES (10, 'IT', 100, 1100);
Or
INSERT INTO departments VALUES (10, 'IT', 100, 1100);
b) Insert Rows with null values:
Example
INSERT INTO departments(department_id,department_name) values (20,'HR');
Or
INSERT INTO departments values (30,'Sales',null,null);
UPDATE Statement
Using an UPDATE statement a user can modify an existing row.,
la Sintassi
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Esempio 1
Modificare un valore di id di reparto a 50 per un dipendente il cui id è 100 utilizzando la clausola WHERE:
Esempio 2
Senza la clausola WHERE tutta la tabella aggiornata:
Esempio 3
Aggiorna PIÙ RIGHE.
Possiamo aggiornare più di una riga usando un’istruzione UPDATE:
UPDATE JOIN
Possiamo usare UPDATE JOIN per aggiungere valori da una tabella separata.,
Nell’esempio seguente, abbiamo aggiornato i valori nella seconda tabella unendo i valori della prima tabella specificando la condizione nella clausola WHERE.
Aggiornare i valori nella seconda tabella, unendo i valori della prima tabella:
Creare due tabelle con i dati:
Aggiornare i valori nella seconda tabella, unendo i valori della prima tabella:
postgres=# UPDATE states SET Name = countries.Name FROM countries WHERE states.ID = countries.ID;
Risultato:
postgres=# select * from states ; id | name ----+--------- 1 | America 2 | Brazil 3 | Canada(3 rows)
DELETE
L’istruzione DELETE viene utilizzato per rimuovere le righe da una tabella.,
Sintassi
DELETE table ;
Esempio 1
Elimina le righe limitando una condizione usando una clausola WHERE. Se la clausola WHERE viene omessa, tutte le righe della tabella verranno eliminate.
postgres=# delete from departments where department_name = 'HR';
Esempio 2
Una sottoquery recupererà prima un output e poi verrà eseguita la condizione WHERE:
postgres=# DELETE FROM departmentsWHERE department_id = (SELECT department_id FROM departments where location_id=1200);
ISTRUZIONE UPSERT
Utilizzando un’istruzione UPSERT, è possibile aggiornare un record se esiste già o inserire un nuovo record se non lo fa. Questo può essere fatto in una singola istruzione.,
Esempio
Sotto esempio di esempio per l’utilizzo di INSERT…SUL CONFLITTO: