Comenzi DML
Comenzile DML sau modificarea datelor. În postările anterioare am utilizat doar comenzi de interogare a datelor, adică fraza SELECT, care sunt parte tot din cadrul componentei DML (Data Manipulation Language) a limbajului SQL. Acum exemplificăm comenzile de modificare a datelor.
Inserarea de noi înregistrări în baza de date se realizează cu ajutorul comenzii INSERT care poate lua două forme:
INSERT INTO nume_tabel [ (lista_coloane) ] VALUES (lista_valori) |
INSERT INTO cursuri VALUES(30, 'Online', 3, 1, 5); INSERT INTO cursuri (ID_curs, titlu_curs) VALUES(31, 'NoSQL'); |
|
|
INSERT INTO nume_tabel [ (lista_coloane) ] fraza_select |
INSERT INTO salarii SELECT nr_matricol, 30, 10, SYSDATE FROM lucrători WHERE an=3; |
SECVENȚE. Secvențele - obiecte ce ajută la generarea automată de numere întregi unice în momentul inserării înregistrilor. Sintaxa creării secvenței:
CREATE SEQUENCE nume_secvență
[INCREMENT BY n] -- pasul
[START WITH n1] -- valoarea de start
[MAXVALUE n_max | NOMAXVALUE] -- valoarea de oprire
[MINVALUE n_min | NOMINVALUE] -- valoarea minimă (listele pot fi șiruri descrescătoare)
[CYCLE | NOCYCLE] -- daca continuă generarea când se ajunge la min/max
Comanda NEXTVAL generează următorul număr din șir iar CURRVAL obține valoarea curentă. NETVAL trebuie executată înainte ca lista să conțină vre-un număr. Exemplu:
CREATE SEQUENCE s1
INCREMENT BY 2
START WITH 10
MAXVALUE 15;
UPDATE nume_tabel [alias] SET nume_coloana1 = valoare1 [, nume_coloana2 = valoare2...] [WHERE conditie] |
UPDATE lucrători SET salariu=salariu*0.15 WHERE salariu<300; |
UPDATE nume_tabel [alias] SET (nume_coloana1 [,nume_coloana2]...) = (subinterogare) [WHERE conditie] |
DELETE FROM nume_tabel [WHERE conditie] |
DELETE FROM note WHERE valoare < 5; |