Sunteți pe pagina 1din 21

COMENZI SQL

Lica Florentin Claudiu


Introducere in baze de date

Ce este o baza de date?

O bază de date este o colecție organizată de informații structurate sau de date, de obicei stocate
electronic într-un sistem informatic. O bază de date este de obicei controlată de un sistem de gestionare
a bazelor de date. Împreună, datele și sistemele de gestionare a bazelor de date, împreună cu aplicațiile
care le sunt asociate, sunt denumite sisteme de baze de date, deseori prescurtat doar ca bază de date.

Datele din cadrul celor mai comune tipuri de baze de date care funcționează în prezent sunt de
obicei modelate în rânduri și coloane într-o serie de tabele pentru a eficientiza procesarea și interogarea
datelor. Datele pot fi apoi ușor de accesat, gestionat, modificat, actualizat, controlat și organizat.
Majoritatea bazelor de date utilizează un limbaj de interogare structurat (SQL) pentru scrierea și
interogarea datelor.

Evolutia bazelor de date

Bazele de date au evoluat dramatic de la crearea lor la începutul anilor 1960. Bazele de date
navigaționale, cum ar fi baza de date ierarhică (care se baza pe un model arborescent și permitea doar
relații de tip "unul la mai mulți") și baza de date în rețea (un model mai flexibil care permitea relații
multiple), au fost sistemele inițiale utilizate pentru stocarea și manipularea datelor. Deși simple, aceste
sisteme timpurii erau inflexibile. În anii 1980, bazele de date relaționale au devenit populare, urmate de
bazele de date orientate pe obiecte în anii 1990. Mai recent, bazele de date NoSQL au apărut ca răspuns
la creșterea internetului și la nevoia de viteză și de procesare mai rapidă a datelor nestructurate. În
prezent, bazele de date în cloud și bazele de date autonome deschid noi drumuri în ceea ce privește
modul de colectare, stocare, gestionare și utilizer a datelor.

Limbajul structurat de interogare (SQL)

SQL este o abreviere de la Structured Query Language (limbaj structurat de interogare). SQL este
un limbaj standardizat de interogare utilizat pentru a prelua informații din bazele de date. Acesta a fost
conceput inițial de International Business Machine (IBM) în anii '70 și a fost denumit în versiunea sa
originală SEQUEL (Structured English Query Language). De atunci, a devenit limbajul de interogare
preferat pentru sistemele de gestionare a bazelor de date.

Limbajele de interogare sunt limbaje de calculator utilizate pentru a face interogări în baze de
date și sisteme de informații. Suportă bazele de date care sunt răspândite pe mai multe calculatoare
într-o rețea de calculatoare, permițând efectuarea de tranzacții între calculatoarele server și cele client.
Este capabil să gestioneze solicitări simultane din partea mai multor utilizatori care doresc să acceseze
baza de date dintr-o rețea de calculatoare. Un exemplu de aplicare a SQL este pe site-urile web care
permit utilizatorilor să înregistreze informații și apoi să facă actualizări și căutări ulterioare. SQL lucrează
în fundal pentru a se ocupa de tot ceea ce face utilizatorul, deși nu putem vedea acest lucru.

Caracteristici si avantaje SQL

Sintaxa și semantica specifice limbajelor de definire și manipulare a datelor SQL.

De asemenea, oferă structura de bază a datelor și operații pentru proiectarea, evaluarea,


întreținerea, controlul și protecția bazelor de date SQL.

Se asigură portabilitatea definirii și aplicării bazelor de date. Aplicațiile pot fi mutate de pe o


mașină pe alta.

Profesioniștii din domeniul împărtășesc un limbaj comun și reduc costurile de formare.

Profesioniștii pot deveni competenți în utilizarea acestuia și pot crește productivitatea.

Oferă longevitate.

Oferă o dependență redusă de un singur furnizor.

Comenzi SQL

Ca și alte limbaje de programare, comenzile SQL sunt clasificate în funcție de funcțiile lor. Aceste
funcții includ construirea de obiecte de baze de date, cum ar fi tabele și interogări, manipularea
obiectelor, inserarea de date în tabelele existente, actualizarea datelor existente în tabele, ștergerea
datelor existente din tabele, efectuarea de interogări ale bazei de date, controlul accesului la baza de
date și administrarea generală a bazei de date. Principalele categorii sunt:

Data Definition Language (Limbajul de definire a datelor)

Limbajul de definire a datelor (DDL) este format din comenzi SQL care permit utilizatorului să creeze și să
restructureze obiecte ale bazei de date, cum ar fi crearea sau ștergerea unui tabel. Exemple de comenzi
DDL sunt:
Comanda de Create Table (Creare tabel)

Comanda de Drop Table

Se utilizează pentru a șterge un tabel existent.

Comanda de creare a indexului

Indicii sunt creați pentru a face căutările mult mai rapide. Majoritatea indicilor sunt definiți pe câmpuri
care sunt utilizate în principal pentru căutări, cum ar fi numărul de identificare sau numele de familie.

Comanda Create View

Vizualizările sunt ca și tabelele, dar nu stochează fizic datele, așa cum o face un tabel. Vizualizările
stochează datele doar temporar.

Alte comenzi incluse în DDL sunt Drop View și Drop Index.

Data Manipulation Language (limbaj de manipulare a datelor)

Limbajul de manipulare a datelor, DML, este format din comenzi SQL utilizate pentru a manipula datele
din cadrul obiectelor unei baze de date relaționale. Există trei comenzi DML de bază enumerate mai jos:

Comanda Insert

Comanda Insert este utilizată pentru a adăuga înregistrări la un tabel din baza de date.

Comanda de actualizare

Această comandă este utilizată pentru a modifica o anumită înregistrare.

Comanda de ștergere

Această comandă este utilizată pentru a șterge înregistrări dintr-un tabel.

Data Query Language (Limbajul de interogare a datelor)

Această comandă se utilizează pentru a prelua date din una sau mai multe tabele dintr-o bază de date
sau din alte baze de date.
Comanda de selectare

Data Control Language (Limbajul de control al datelor)

Aceste comenzi permit utilizatorului să configureze modul în care acesta poate accesa baza de date.
Aceste comenzi DCL sunt utilizate în mod normal pentru a crea obiecte legate de implementarea
limitărilor de acces al utilizatorilor și, de asemenea, pentru a controla distribuția privilegiilor între
utilizatori.

Comenzi de administrare a datelor

Acestea permit utilizatorului să efectueze audituri și să efectueze analize asupra operațiunilor din cadrul
bazei de date. De asemenea, acestea pot fi utilizate pentru a ajuta la analiza performanței sistemului.

Comenzi de control tranzacțional

Aceste comenzi permit utilizatorului să gestioneze toate tranzacțiile din baza de date care au loc într-o
anumită perioadă de timp.

COMMIT - această comandă confirmă salvarea tuturor tranzacțiilor din baza de date care au fost
efectuate de către utilizator.

ROLLBACK - această comandă este utilizată pentru a șterge sau a anula toate tranzacțiile din baza de
date efectuate de utilizator.

SAVEPOINT - Se utilizează pentru a crea puncte în cadrul grupurilor de tranzacții în care să fie anulate
sau ROLLBACK

SET TRANSACTION - Pune un nume pe o tranzacție

Reguli pentru scrierea comenzilor SQL

 Numele tabelelor nu poate depăși 20 de caractere.


 Numele tabelului trebuie să fie unic.
 Numele câmpurilor trebuie, de asemenea, să fie unice.
 Lista de câmpuri și lungimea fișierului trebuie să fie cuprinse între paranteze.
 Utilizatorul trebuie să precizeze lungimea și tipul câmpului.
 Definițiile câmpurilor trebuie să fie separate prin virgule.
 Instrucțiunile SQL trebuie să se încheie cu punct și virgulă.
Lista interogarilor si declaratiilor de baza SQL

SELECT si FROM – aceasta parte a unei interogări determină ce coloane din date să se afișeze în
rezultate. Există, de asemenea, opțiuni pe care le puteți aplica pentru a afișa date care nu sunt o coloană
de tabel.

Exemplul de mai jos arată trei coloane SELECTed FROM de „student“ tabel și o coloană calculată. Baza
de date stochează studentID, prenume și prenume ale studentului. Putem combina coloanele Prenume
și Numele de familie pentru a crea coloana calculată FullName.

SELECT studentID, FirstName, LastName, FirstName + ' ' + LastName AS FullName


FROM student;

+-----------+-------------------+------------+------------------------+
| studentID | FirstName | LastName | FullName |
+-----------+-------------------+------------+------------------------+
| 1 | Monique | Davis | Monique Davis |
| 2 | Teri | Gutierrez | Teri Gutierrez |
| 3 | Spencer | Pautier | Spencer Pautier |
| 4 | Louis | Ramsey | Louis Ramsey |
| 5 | Alvin | Greene | Alvin Greene |
| 6 | Sophie | Freeman | Sophie Freeman |
| 7 | Edgar Frank "Ted" | Codd | Edgar Frank "Ted" Codd |
| 8 | Donald D. | Chamberlin | Donald D. Chamberlin |
| 9 | Raymond F. | Boyce | Raymond F. Boyce |
+-----------+-------------------+------------+------------------------+
9 rows in set (0.00 sec)

CREATE TABLE - creează un tabel în baza de date. Se pot specifica numele tabelului și coloanele care ar
trebui să fie în tabel.

CREATE TABLE table_name (


column_1 datatype,
column_2 datatype,
column_3 datatype
);

TABEL ALTER - modifică structura unui tabel. Cum se adăuga o coloană la o bază de date:

ALTER TABLE table_name


ADD column_name datatype;

CHECK - Constrângerea este utilizată pentru a limita domeniul de valori care pot fi plasate într-o
coloană.

Dacă definim o constrângere pe o singură coloană, aceasta permite numai anumite valori pentru această
coloană. Dacă definim o constrângere pe un tabel, aceasta poate limita valorile din anumite coloane pe
baza valorilor din alte coloane din rând.

Următorul exemplu creează o constrângere pe coloana „Vârstă” când se creează tabelul „Persoane”. In
acest exemplu este pusa constrangerea ca varsta sa fie mai mare de 18 ani.

CREATE TABLE Persons (


ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);

Pentru a permite denumirea unei constrângeri și pentru definirea unei constrângeri pe mai multe
coloane, se utilizeaza următoarea sintaxă SQL:

CREATE TABLE Persons (


ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);

WHERE (AND, OR, IN, BETWEEN, LIKE) - Comanda este utilizată pentru a limita numărul de rânduri
returnate.

De exemplu, mai întâi comanda SELECT si rezultatele fără comanda WHERE. Apoi se adauga comanda
WHERE care folosește toate cele cinci calificative de mai sus.

SELECT studentID, FullName, sat_score, rcd_updated FROM student;

+-----------+------------------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+------------------------+-----------+---------------------+
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
| 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 |
| 3 | Spencer Pautier | 1000 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
| 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 |
| 7 | Edgar Frank "Ted" Codd | 2400 | 2017-08-16 15:35:33 |
| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 |
| 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 |
+-----------+------------------------+-----------+---------------------+
9 rows in set (0.00 sec)

Acum, se va repeta interogarea, dar cu comanda WHERE.

STUDENT studentID, FullName, sat_score, recordUpdated


FROM student
WHERE (studentID BETWEEN 1 AND 5 OR studentID = 8)
AND
sat_score NOT IN (1000, 1400);
+-----------+----------------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+----------------------+-----------+---------------------+
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
| 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 |
+-----------+----------------------+-----------+---------------------+
5 rows in set (0.00 sec)

UPDATE - Se foloseste pentru a actualiza o inregistrare in tabel

Se foloseste comanda WHERE pentru a specifica ce înregistrări se doresc a fi actualizate. Este posibila
actualizarea a unei sau a mai multor coloane odată. Sintaxa este:

UPDATE table_name
SET column1 = value1,
column2 = value2, ...
WHERE condition;

Exemplu de actualizare a numelui inregistrarii cu ID 4

UPDATE Person
SET Name = “Elton John”
WHERE Id = 4;

De asemenea, se pot actualiza coloanele dintr-un table utilizand valori din alte tabele. Se foloseste
comanda JOIN pentru a obtine date din mai multe tabele. Sintaxa fiind:

UPDATE table_name1
SET table_name1.column1 = table_name2.columnA
table_name1.column2 = table_name2.columnB
FROM table_name1
JOIN table_name2 ON table_name1.ForeignKey = table_name2.Key
GROUP BY - permite combinarea randurilor si datelor agregate

Sintaxa GROUP BY:

SELECT column_name, COUNT(*)


FROM table_name
GROUP BY column_name;

HAVING - permite filtrarea datelor cumulate prin comanda GROUP BY, astfel incat utilizatorul sa obtiuna
un set limitat de inregistrari de vizualizat.

Sintaxa HAVING:

SELECT column_name, COUNT(*)


FROM table_name
GROUP BY column_name
HAVING COUNT(*) > value;

AVG () - „Media” este utilizată pentru a calcula media unei coloane numerice din setul de rânduri
returnate de o instrucțiune SQL.

Sintaxa functiei:

SELECT groupingField, AVG(num_field)


FROM table1
GROUP BY groupingField

AS - permite redenumirea unei coloase sau a unui tabel utilizând un alias


SELECT user_only_num1 AS AgeOfServer, (user_only_num1 - warranty_period) AS
NonWarrantyPeriod FROM server_table

+-------------+------------------------+
| AgeOfServer | NonWarrantyPeriod |
+-------------+------------------------+
| 36 | 24 |
| 24 | 12 |
| 61 | 49 |
| 12 | 0 |
| 6 | -6 |
| 0 | -12 |
| 36 | 24 |
| 36 | 24 |
| 24 | 12 |
+-------------+------------------------+

ORDER BY - ofera o modalitate de a sorta setul de rezultate in functie de unul sau mai multe elemente
din sectiunea SELECT.

In urmatorul exemplu comanda sorteaza studentii dupa FullName in ordine descrescatoare. Ordinea de
sortare implicita este ascendenta (ASC), dar pentru a sorta in ordinea opusa (descrescatoare) se
foloseste DESC.

SELECT studentID, FullName, sat_score


FROM student
ORDER BY FullName DESC;

COUNT - va număra numărul de rânduri și va returna acest număr ca o coloană în setul de rezultate.

Exemple de utilizare a comenzii COUNT:

 Numărarea tuturor rândurilor dintr-un tabel (nu este necesară o grupare după)
 Numărarea totalurilor unor subseturi de date (necesită o secțiune Group By a declarației)
Această instrucțiune SQL oferă o numărătoare a tuturor rândurilor. Coloana rezultata COUNT poate fi
redenumita folosind comanda AS.

SELECT count(*) AS studentCount FROM student;

DELETE - este utilizata pentru a șterge o înregistrare dintr-un tabel.

Se pot sterge toate inregistrarile din tabel sau doar cateva. Se foloseste comanda WHERE pentru a se
specifica inregistrarile care se doresc sterse. Sintaxa este:

DELETE FROM table_name


WHERE condition;

Exemplu pentru stergerea din tabelul “Person” a inregistrarii cu ID 3:

DELETE FROM Person


WHERE Id = 3;

INNER JOIN - JOIN, numit și INNER JOIN, selectează înregistrările care au valori identice în două tabele.
Sintaxa fiind:

SELECT * FROM A x JOIN B y ON y.aId = x.Id

LEFT JOIN - returnează toate rândurile din tabelul din stânga și rândurile corespunzătoare din tabelul din
dreapta. Rândurile din tabelul din stânga vor fi returnate chiar dacă nu există nicio potrivire în tabelul
din dreapta. Rândurile din tabelul din stânga care nu corespund în tabelul din dreapta vor avea valori
nule pentru tabelul din dreapta.

SELECT * FROM A x LEFT JOIN B y ON y.aId = x.Id

RIGHT JOIN - returnează toate rândurile din tabelul din dreapta și rândurile corespunzătoare din tabelul
din stânga. Spre deosebire de o îmbinare la stânga, aceasta va returna toate rândurile din tabelul din
dreapta chiar dacă nu există nicio potrivire în tabelul din stânga. Rândurile din tabelul din dreapta care
nu au corespondență în tabelul din stânga vor avea valori nule pentru coloanele din tabelul din stânga.
SELECT * FROM A x RIGHT JOIN B y ON y.aId = x.Id

FULL OUTER JOIN - returnează toate rândurile pentru care există o corespondență în oricare dintre
tabele. Astfel, dacă există rânduri în tabelul din stânga care nu au corespondențe în tabelul din dreapta,
acestea vor fi incluse. De asemenea, dacă există rânduri în tabelul din dreapta care nu au corespondențe
în tabelul din stânga, acestea vor fi incluse.

SELECT Customers.CustomerName, Orders.OrderID


FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName

INSERT - este o modalitate de a introduce date intr-un tabel

INSERT INTO table_name (column_1, column_2, column_3)


VALUES (value_1, 'value_2', value_3);

LIKE - este utilizat în cadrul comenzii WHERE sau HAVING (ca parte a GROUP BY) pentru a limita
rândurile selectate la elementele în cazul în care o coloană conține un anumit model de caractere.

SELECT studentID, FullName, sat_score, rcd_updated


FROM student
WHERE
FullName LIKE 'Monique%' OR
FullName LIKE '%Greene';

+-----------+---------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+---------------+-----------+---------------------+
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
+-----------+---------------+-----------+---------------------+
2 rows in set (0.00 sec)

Plasarea NOT înainte de LIKE pentru a exclude rândurile cu șirul de caractere în loc să le selectați. Acest
SQL exclude înregistrările care conțin "cer Pau" și "Ted" în coloana FullName.

SELECT studentID, FullName, sat_score, rcd_updated


FROM student
WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%';

+-----------+----------------------+-----------+---------------------+
| studentID | FullName | sat_score | rcd_updated |
+-----------+----------------------+-----------+---------------------+
| 1 | Monique Davis | 400 | 2017-08-16 15:34:50 |
| 2 | Teri Gutierrez | 800 | 2017-08-16 15:34:50 |
| 4 | Louis Ramsey | 1200 | 2017-08-16 15:34:50 |
| 5 | Alvin Greene | 1200 | 2017-08-16 15:34:50 |
| 6 | Sophie Freeman | 1200 | 2017-08-16 15:34:50 |
| 8 | Donald D. Chamberlin | 2400 | 2017-08-16 15:35:33 |
| 9 | Raymond F. Boyce | 2400 | 2017-08-16 15:35:33 |
+-----------+----------------------+-----------+---------------------+
7 rows in set (0.00 sec)
SQL PLUS

SQL este un limbaj de comenzi pentru comunicarea cu serverul Oracle din orice aplicaţie. Când se
introduce o instrucţiune SQL, aceasta este stocată într-o zonă de memorie numită buffer-ul SQL şi ea va
rămâne în buffer până în momentul introducerii unei noi instrucţiuni.

SQL*Plus este un instrument Oracle care recunoaşte şi trimite instrucţiuni SQL la server pentru execuţie
şi conţine propriul limbaj de comenzi.

Caracteristicile limbajului SQL*Plus


 accepta fişiere de instrucţiuni SQL;
 furnizeaza un editor în mod linie pentru modificarea instrucţiunilor SQL;
 controlează setările de mediu;
 formatează rezultatele interogărilor sub formă de rapoarte;
 accesează baze de date locale si la distanţă

Următorul tabel cuprinde câteva elemente de comparaţie între SQL şi SQL*Plus

SQL SQL*Plus
Este un limbaj pentru comunicarea cu serverul Recunoaste instrucţiuni SQL şi le trimite la server
Oracle pentru accesarea datelor
Este bazat pe standardul ANSI SQL Este o interfaţă proprietate Oracle pentru
executarea instrucţiunilor SQL
Manipulează date şi definiţii de tabele în baze de Nu permite manipularea valorilor în baze de date
date
O instrucţiune se stochează in bufferul SQL pe Este permisă o comandă pe linie şi nu este
una sau mai multe linii memorată în bufferul SQL
Nu are caracter de continuare Foloseşte caracterul (-) pentru continuarea unei
comenzi dacă aceasta nu incape pe o linie
Foloseste un caracter de terminare pentru Nu are nevoie de caractere de terminare. Se
executarea imediată a comenzii execută imediat
Nu pot fi abreviate Pot fi abreviate

Foloseşte funcţii pentru anumite formatări Foloseşte comenzi pentru formatări

Mediul SQL*Plus oferă numeroase facilităţi, permiţând:

 executarea instrucţiunilor SQL pentru extragerea, modificarea, adăugarea şi ştergerea datelor


din baza de date;
 formatarea, efectuarea de calcule, stocarea şi listarea rezultatele interogărilor sub formă de
rapoarte;
 crearea de fişiere de script pentru stocarea instrucţiunilor SQL.

Indicaţii privind scrierea instrucţiunilor SQL si SQL*Plus

Pentru a construi instrucţiuni valide, uşor de citit şi de editat trebuie avute în vedere
următoarele reguli:

 în general instrucţiunile SQL pot fi scrise cu litere mari sau mici;


 instrucţiunile SQL pot fi introduse pe una sau mai multe linii;
 cuvintele cheie nu pot fi abreviate sau despărţite în linii diferite;
 de obicei clauzele sunt plasate pe linii separate pentru creşterea lizibilităţii textului;
 este de preferat ca toate cuvintele cheie să fie introduse cu majuscule, iar toate celelalte
cuvinte, cum ar fi numele de tabele şi coloane, să fie introduse cu litere mici;
 în mediul SQL*Plus, o instrucţiune SQL este introdusă la promtul SQL, iar următoarele linii
aparţinând instrucţiunii sunt numerotate. Acesta se numeşte buffer-ul SQL. Numai o singură
instrucţiune SQL poate exista în buffer la un moment de timp.

Comenzi SQL*Plus

Acestea se împart în următoarele mari categorii:

Categorie Scop

Mediu Afectează comportamentul general al instrucţiunilor SQL pentru sesiunea


respectivă
Formatare Formatează rezultatele interogării
Manipulari de fisiere Salvează, încarcă şi rulează fişiere de script
Executie Trimite instrucţiuni SQL din bufferul SQL la serverul Oracle
Editare Modifică instrucţiunea SQL aflată în buffer
Interactiune Permite crearea şi pasarea variabilelor către instrucţiuni SQL, afişarea
variabilelor şi listarea mesajelor pe ecran
Diverse Diferite comenzi pentru conectarea la baza de date, manipularea mediului
SQL*Plus şi afişarea coloanelor

Afisarea structurii unui tabel:

 DESC[RIBE] numetabel

Comenzi de editare SQL*Plus:

 A[PPEND] text - adaugă text la sfârşitul liniei curente din buffer


 C[HANGE] / old / new - schimbă textul old cu cel new în linia curentă
 C[HANGE] / text / - şterge text din linia curentă din buffer
 C[LEAR] BUFF[ER] - şterge toate liniile din bufferul SQL
 DEL - şterge linia curentă din buffer
 DEL n - şterge linia n din buffer
 DEL m n - şterge din buffer toate liniile având numărul cuprins între m şi n
 I[NPUT] - inserează un număr nedefinit de linii
 I[NPUT] text - inserează o linie în buffer, conţinutul liniei fiind dat de text
 L[IST] - listează toate liniile din bufferul SQL
 L[IST] n - listează linia n din buffer
 L[IST] m n - listează liniile de la m la n din buffer
 n - linia n devine linia curentă din buffer
 n text - înlocuieşte linia n din buffer cu text
 0 text - inserează în buffer o linie înaintea liniei 1

Comenzi pentru fisiere:

 SAVE filename - salvează conţinutul buffer-ului SQL într-un fişier.


 GET filename - conţinutul fişierului filename este încărcat în buffer-ul SQL
 START filename - rulează fişierul script filename
 @ filename - are acelaşi efect ca în cazul utilizării comenzii START
 ED[IT] - lansează editorul şi salvează conţinutul buffer-ului în fişierul afiedt.buf
 ED[IT] filename - lansează editorul pentru editarea conţinutului unui fişier salvat
 SPO[OL] [filename] OFF/OUT - stochează rezultatul unei interogări într-un fişier. OFF inchide
fişierul. OUT închide fişierul şi îl trimite la imprimantă system
 EXIT - ieşire din SQL*Plus

Alte comenzi:

 HELP - invoca help-ul intern din Oracle.


 CONN[ECT] username/parola - Schimba utilizatorul current

PL/SQL

PL / SQL este o fuziune a SQL cu trăsături procedurale ale limbajelor de programare. A fost
lansat de Oracle pentru a actualiza caracteristicile SQL. PL SQL este considerat unul dintre limbajele
importante din baza de date Oracle. Este în primul rând o extensie a SQL.

Acest limbaj de programare a fost introdus pe piață de Oracle Corporation cu gândul de a


extinde bazele de date SQL și Oracle. Este cunoscut sub numele de Extensii de limbaj procedural la
limbajul de interogare structurat .

SQL este utilizat în general pentru modificarea și interogarea informațiilor în Sistemele de


gestionare a bazelor de date relaționale (RDBMS). PL SQL vine să conecteze deficiențele SQL și
îmbunătățește caracteristicile SQL.
Caracteristicile PL / SQL

PL / SQL are câteva dintre caracteristicile principale. Acestea sunt enumerate mai jos:

 PL SQL vine cu un limbaj implicit, interpretat și independent de sistemul de operare.


 Poate fi folosit din linia de comandă.
 Este un limbaj portabil, eficient și de procesare a tranzacțiilor.
 Sintaxa PL / SQL este derivată din limbajul de programare Pascal
 Are o gestionare eficientă a excepțiilor, verificări de erori și caracteristici de ascundere a datelor.
 Funcționează în strânsă legătură cu SQL.
 Suportă mai multe tipuri de date.
 Asistă o mare varietate de structuri de programare cu ajutorul funcțiilor și procedurilor.
 Este folosit pentru dezvoltarea paginilor web și server.
 Poate fi folosit pentru luarea deciziilor și programarea iterației.
 PL / SQL execută mai multe interogări cu o singură comandă.
 Funcțiile, procedurile, declanșatoarele și așa mai departe sunt păstrate în baza de date după
generare pentru reutilizare.
 Aplicațiile dezvoltate în PL / SQL sunt portabile pentru alte sisteme de operare și hardware.
 PL / SQL permite utilizarea de bucle, condiții, constante, variabile, proceduri, funcții,
declanșatoare, tablouri și așa mai departe.
 PL / SQL nu distinge majuscule și minuscule. Un text în PL / SQL cuprinde fie delimitatori,
comentarii, identificatori și litere.

Avantajele PL/SQL

 PL / SQL este conectat la SQL. Asistă în SQL dinamic și static. SQL static face operațiuni DML și
controlul tranzacției se face din blocul PL / SQL. SQL dinamic încorporează instrucțiunile DDL în
blocurile PL / SQL.
 PL SQL este capabil să trimită întregul bloc de instrucțiuni la baza de date dintr-o dată. Acest
lucru ajută la îmbunătățirea performanței aplicațiilor.
 Ajută dezvoltatorii să interogheze, să modifice și să modifice informațiile din baza de date.
 Aplicațiile dezvoltate în PL / SQL sunt securizate și acceptă concepte orientate pe obiecte.
 PL / SQL poate dezvolta aplicații robuste. Are pachete implicite în SQL.
 Acceptă declarația variabilă în cadrul blocurilor. Aceste variabile sunt utilizate în timpul
procesării interogării.
 Poate prezenta simultan mai multe înregistrări din mai multe tabele.
 PL / SQL se bucură de o combinație solidă cu baza de date Oracle.
De completat:

pl/sql + sql plus – exemple (sa arate ca sunt extensii sql)

arhitectura oracle, baze de date oracle

Bibliografie

https://www.oracle.com/ro/database/what-is-database/

https://phdessay.com/sql-programming-language/

http://cursuri.cs.pub.ro/~radulescu/bd/sql7/oracle2.html

https://ro.ilusionity.com/70-basic-sql-commands-the-list-of-database-queries-and-statements-you-
should-know

http://bd.ac.tuiasi.ro/Doc/laborator/LUCRAREA_2.pdf

https://ro.myservername.com/pl-sql-tutorial-beginners-with-examples-what-is-pl-sql

Cuprins

Introducere in baze de date...................................................................................................................1


Ce este o baza de date?......................................................................................................................1
Evolutia bazelor de date.....................................................................................................................1
Limbajul structurat de interogare (SQL).................................................................................................1
Caracteristici si avantaje SQL..................................................................................................................2
Comenzi SQL..........................................................................................................................................2
Reguli pentru scrierea comenzilor SQL...............................................................................................4
Lista interogarilor si declaratiilor de baza SQL....................................................................................5
SQL PLUS..............................................................................................................................................14
Indicaţii privind scrierea instrucţiunilor SQL si SQL*Plus...................................................................15
Comenzi SQL*Plus............................................................................................................................15
PL/SQL..................................................................................................................................................17
Caracteristicile PL / SQL....................................................................................................................17
Avantajele PLSQL..............................................................................................................................18
Bibliografie...........................................................................................................................................19

S-ar putea să vă placă și