Modificant les dades: insert, update, delete

De wikijoan
La revisió el 08:40, 1 des 2021 per Joan (discussió | contribucions) (Es crea la pàgina amb «=Introducció= És la secció 11 que estem seguint del tutorial: *https://www.sqltutorial.org/ *https://www.sqltutorial.org/sql-insert/ =Previ: regeneració de les dad...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Salta a la navegació Salta a la cerca

Introducció

És la secció 11 que estem seguint del tutorial:

Previ: regeneració de les dades de la base de dades HR

Insert

INSERT INTO dependents( first_name, last_name, relationship, employee_id) VALUES ( 'Dustin', 'Johnson', 'Child', 178 );

# comprovació:
SELECT * FROM dependents WHERE employee_id = 178;

INSERT INTO dependents( first_name, last_name, relationship, employee_id) VALUES 
( 'Cameron', 'Bell', 'Child', 192 ), 
( 'Michelle', 'Bell', 'Child', 192 );

SELECT * FROM dependents WHERE employee_id = 192;

Per tal de fer-ho necessitem la taula dependents_archive que tingui la mateixa estructura que dependents.
(fer-ho)

INSERT INTO dependents_archive SELECT * FROM dependents;


Update

UPDATE employees SET last_name = 'Lopez' WHERE employee_id = 192;

# comprovació:
SELECT employee_id, first_name, last_name FROM employees WHERE employee_id = 192;

UPDATE dependents SET last_name = 'Lopez' WHERE employee_id = 192;

# fem un update amb una subquery

UPDATE dependents SET last_name =
( SELECT last_name FROM employees WHERE employee_id = dependents.employee_id);

Delete

# comprovació:
SELECT count(*) FROM dependents WHERE dependent_id = 16;

DELETE FROM dependents WHERE dependent_id = 16;

# comprovació:
SELECT count(*) FROM dependents WHERE dependent_id = 16;


DELETE FROM dependents WHERE employee_id IN(100 , 101, 102);

DELETE FROM employees WHERE employee_id = 192;
DELETE FROM dependents WHERE employee_id = 192;

foreign key constraint


creat per Joan Quintana Compte, desembre 2021