Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Limbajul de manipulare a datelor (DML- Data Manipulation Language)

Limbajul de manipulare a datelor (DML- Data Manipulation Language)

SQL furnizeaza patru comenzi care permit consultarea, modificarea si actualizarea continutului bazei de date. Actualizarea se refera la adaugarea unor noi randuri intr-un tabel (INSERT), la modificarea uneia sau mai multor valori dintr-un rand (UPDATE) si la stergerea unor randuri dintr-un tabel (DELETE). De asemenea, DML furnizeaza o comanda puternica ce permite interogarea obiectelor create cu ajutorul limbajului de definire a datelor (DDL). Consultarea se face cu ajutorul comenzii SELECT (deja studiata).

Cererile limbajului DML pot fi formulate direct, utilizand interfata SQL*PLUS sau pot fi utilizate in utilitare ale sistemului ORACLE. Ele pot fi, de asemenea, incapsulate intr-un program PL/SQL.



In functie de momentul in care se doreste realizarea actualizarilor asupra bazei de date, utilizatorul poate folosi una din comenzile

SET AUTOCOMMIT ON- schimbarile se efectueaza automat

SET AUTOCOMMIT OFF- schimbarile sunt pastrate intr-un buffer pana la executia uneia din instructiunile:

o      COMMIT- are rolul de a permanentiza schimbarile efectuate;

o      ROLLBACK- determina anularea schimbarilor realizate.

v    Comanda INSERT se foloseste pentru a insera randuri intr-un tabel.


Forme:


a)     INSERT INTO tabel [(col1, col2, .)]

VALUES (expresie 1, expresie2, .);


b)     INSERT INTO table [(col1, col2,.)]

comanda_SELECT;


Prima forma permite inserarea directa a unei linii intr-un tabel, iar a doua forma permite inserarea mai multor linii care sunt rezultatul unei comenzi SELECT.


Ex:- inserarea in tabelul dept a unui nou departament cu codul 70, numele CONTROLLING si sediul in LOS ANGELES:


INSERT INTO dept

VALUES (70,'CONTROLLING','LOS ANGELES');


Obs:

daca nu a fost specificata lista coloanelor si daca exista campuri care nu au valori efective, acestor campuri li se va atribui valoarea NULL ;

este permisa folosirea variabilelor de substitutie.


v    Comanda DELETE se foloseste pentru suprimarea randurilor unui tabel, dar fara eliberarea spatiului.




DELETE FROM tabel

[WHERE conditie];


Ex:- stergerea departamentului cu codul 70:


DELETE FROM dept

WHERE deptno=70;

Daca nu este specificata nici o conditie se sterg toate randurile tabelului.

In clauza WHERE pot fi folosite si subinterogari.

Stergerile accidentale pot fi omise, restaurandu-se valorile initiale prin comanda SET AUTOCOMMIT OFF.

v    Comanda UPDATE modifica randurile unui tabel.


Forme:


UPDATE tabel

SET coloana1=expresie1[, coloana2=expresie2,.]

[WHERE conditie];


UPDATE table

SET (coloana1, coloana2, .)=(subinterogare)

[WHERE conditie];


Ex:-modificarea locatiei departamentului 70


UPDATE dept

SET loc='LAS VEGAS'

WHERE deptno=70;


Limbajul de definire a datelor (DDL- Data Definition Language)


Limbajul de definire a datelor permite definirea bazelor de date si a obiectelor care compun aceste baze de date. Definirea unui obiect include, in general, crearea, modificarea si suprimarea obiectului. Limbajul de definire a datelor consta din acele instructiuni SQL (CREATE, ALTER, DROP) care permit crearea, modificarea si distrugerea obiectelor bazei de date.


Definirea tabelelor


Tabelul reprezinta o structura de date ce contine datele unei baze de date relationale. Definirea tabelelor presupune crearea de noi tabele (CREATE) , modificarea structurii tabelelor (ALTER) si suprimarea tabelelor (DROP).



Crearea unui tabel consta in generarea structurii sale, adica atribuirea unui nume tabelului si definirea caracteristicilor sale.

Forma simplificata a comenzii CREATE TABLE este urmatoarea:


CREATE TABLE nume_tabel (nume_coloana_1 tip_date [NOT NULL]

nume_coloana_2 tip_date [NOT NULL],


nume_coloana_n tip_date [NOT NULL]);


Exemplu: se creeaza un tabel cu numele angajati si cu structura marca, nume,salariu:

CREATE TABLE angajati (marca NUMBER(4) NOT NULL, nume VARCHAR2(15), salariu NUMBER(10));

Un tabel poate fi creat dintr-un tabel existent:

CREATE TABLE tabel_nou (nume_coloana_1, nume_coloana_2, ., nume_coloana_n)

AS (SELECT nume_coloana_1, nume_coloana_2, ., nume_coloana_n

FROM tabel_vechi WHERE conditie);

Exemplu: se creeaza un tabel cu structura cod, nume, salariu avand campurile preluate din tabelul emp:

CREATE TABLE ang (cod, nume, salariu)

AS SELECT empno, ename, sal FROM emp;

Modificarea structurii unui tabel se realizeaza cu ajutorul comenzii ALTER TABLE care permite:

v    adaugarea unei coloane la tabelul existent



v    modificarea unei coloane existente-pot fi modificate tipul de date, dimensiunea sau valoarea implicita.


Sintaxa:


ALTER TABLE nume_tabel

ADD nume_coloana tip_de_data;

MODIFY nume_coloana tip_de_data;

Exemple:

sa se modifice structura tabelului angajati, prin adaugarea coloanei meserie:


ALTER TABLE angajati

ADD (meserie VARCHAR2(10));


sa se modifice structura tabelului angajati, prin modificarea dimensiunii coloanei marca din NUMBER(4) in NUMBER(5):


ALTER TABLE angajati

MODIFY (marca NUMBER(5)) ;


sa se modifice structura tabelului angajati prin modificarea tipului de date al coloanei marca din numeric (NUMBER) in sir de caractere (VARCHAR2):


ALTER TABLE angajati

MODIFY (marca VARCHAR2(5));

Stergerea unui tabel se realizeaza cu ajutorul comenzii DROP TABLE. Executia acestei comenzi este ireversibila, adica nu poate fi executata o comanda ROLLBACK dupa DROP TABLE.

Sintaxa:


DROP TABLE nume_tabel;

Exemplu: stergerea tabelului ang:

DROP TABLE ang;


biologie

botanica






Upload!

Trimite cercetarea ta!
Trimite si tu un document!
NU trimiteti referate, proiecte sau alte forme de lucrari stiintifice, lucrari pentru examenele de evaluare pe parcursul anilor de studiu, precum si lucrari de finalizare a studiilor universitare de licenta, masterat si/sau de doctorat. Aceste documente nu vor fi publicate.