Sunteți pe pagina 1din 5

Tema 3 Sintaxa limbajului:

SQL este acronimul de la Structural Query Language. Este limbajul standard


pentru accesarea sistemelor de gestiune a bazelor de date relaţionale
(SGBDR).

SQL este folosit pentru a stoca şi regăsi datele în şi dintr-o bază de date. Este
utilizat în sisteme de baze de date cum sunt MySQL , Oracle, Microsoft SQL
Server şi altele.
SQL conţine atât facilităţi de descriere a datelor (DDL) cât şi facilităţi de
manipulare a datelor (DML) .

Inserarea datelor în baza de date

Instrucţiunea INSERT se poate folosi pentru a introduce linii în baza de date.


Operatorul SQL pentru inserare este INSERT INTO şi prezintă două
variante:
- inserare simplă : pentru inserarea unei tuple individuale
- inserare multiplă : pentru inserarea mai multor tuple

Comanda pentru inserare simplă are sintaxa :

INSERT INTO nume_relaţie (nume_atribut.)


VALUES (valoare.)
Între valori şi numele de atribute trebuie să existe o corespondenţă unu la unu.
Pentru atributele care acceptă valoarea NULL specificarea unei valori în
comanda de inserare este opţională. Acestea vor fi omise din lista de atribute
şi vor lua implicit valoarea NULL, eventual, urmând a fi modificate ulterior
când valorile lor vor fi cunoscute.Valorile din lista de valori pot fi ori literale ,
ori expresii aritmetice.

Comanda pentru inserare multiplă are sintaxa :

INSERT INTO nume_relaţie(nume_atribut.)


construcţie_SELECT
şi permite adăugarea la relaţia specificată a unei mulţimi de tuple (relaţie)
care se obţine ca rezultat al unei construcţii SELECT.

Actualizarea înregistrărilor din baza de date

Update este instrucţiunea care permite actualizarea înregistrărilor unei baze


de date .

Forma obişnuită a unei instrucţiuni UPDATE este :

UPDATE nume_tabela
SET colona1 = expresie1 , coloana2 = expresie2, .
[WHERE condiţie]
[LIMIT număr]

Operatorul SQL de actualizare îndeplineşte două funcţii :

 selectează prin condiţia de căutare din clauza WHERE tuplele care


urmează a fi actualizate (în lipsa clauzei WHERE se actualizează implicit
toate tuplele relaţiei specificate).
 În tuplele selectate modifică valorile atributelor specificate.Expresiile de
actualizare pot conţine : constante , nume de atribute , valoarea NULL sau
expresii aritmetice construite cu acestea.

Ştergerea de înregistrări din baza de date

Operatorul SQL pentru efectuarea operaţiilor de ştergere este DELETE


FROM a cărui sintaxă completă este :

DELETE FROM nume_relaţie


[WHERE calificator ]
Formularea interogărilor în limbajul SQL

Instrumentul de bază al SQL este instrucţiunea SELECT. Este folosită pentru


a regăsi datele dintr-o bază de date prin selectarea acelor linii din tabelă care
corespund criteriului specificat.

Forma de bază a instrucţiunii SELECT este :

SELECT [DISTINCT] nume_atribut1 nume_atribut2 .


FROM nume_relaţie ..
[WHERE calificator1] ..
[GROUP BY nume_atribut2...
[HAVING calificator2]]
[ORDER BY nume_atribut3 [ASC|DESC].]

Se pot specifica oricâte coloane din tabelă prin trecerea lor după cuvântul
cheie SELECT. De asemenea se pot specifica şi alte elemente. Un element
foarte util este operatorul de înlocuire * , care specifică toate coloanele din
tabela sau tabelele specificate.
-valoarea ( valorile) corespunzătoare parametrului ( parametrilor)
nume_atribut1 . precizează în mod explicit atributele după care se face
selecţia.
- Dacă există ambiguităţi (lipsă de precizie) referitor la relaţiile din care
fac parte atributele specificate , atunci acestea vor fi precedate de numele
relaţiei corespunzătoare.
- În lipsa operatorului opţional DISTINCT selecţia se face fără eliminarea
duplicatelor , iar dacă acesta apare , atunci se elimină eventualele duplicate
rezultate în urma operaţiei de selecţie

- Clauza GROUP BY are ca efect gruparea tuplelor unei relaţii pe baza


valorilor unui atribut sau grup de attribute

- clauza HAVING , opţiune a clauzei GROUP BY, este o formă specială a


clauzei WHERE caracterizată prin faptul că se aplică nu unor tuple
individuale , ci unor submulţimi (grupuri) de tuple , rezultate ca urmare a
selecţiei făcute prin clauza GROUP BY.

- clauza ORDER BY specifică ordonarea tuplelor unei relaţii rezultat după


valorile parametrului nume¬_atribut3, iar cuvintele ASC şi DESC indică
modul în care se face ordonarea .

Definirea datelor în SQL

Teoretic , comenzile pentru definirea datelor fac parte din modulul


corespunzător componentei DDL al SGBD-ului. Totuşi , în majoritatea
implementărilor SQL comenzile de definire a datelor sunt prelucrate de
acelaşi interpretor care rezolvă interogările şi celelalte operaţii de manipulare
a datelor prezentate mai sus.Aşadar , componentele DML şi DDL ale SGBD-
ului sunt implementate prin acelaşi modul software.

Crearea / ştergerea tabelelor (relaţiilor)

Definirea unei relaţii se poate face prin comanda CREATE TABLE.


Relaţiile definite prin această comandă sunt numite relaţii de bază.
Definiţia acestor relaţii este automat memorată într-un dicţionar de date numit
şi catalogul sistem.

Sintaxa comenzii pentru definirea relaţiilor este :

CREATE TABLE nume_relaţie ( nume_atribut1 tip_dată [NOT NULL]


[, nume_atribut2 tip_dată [NOT NULL]].)

Comanda specifică numele relaţiei care se creează precum şi una sau mai
multe descrieri de atribute. Descrierea fiecăru atribut specifică numele
atributului şi tipu de dată corespunzător (CHAR, INTEGER etc.) împreună
cu dimensiunea asociată.

Comanda simetrică celei de creare a unei relaţii este DROP TABLE care are
ca efect eliminarea din catalogul sistem a relaţiei specificate. După executarea
acestei comenzi nu se mai pot face nici un fel de referiri la relaţia în cauză ,
descrierea acesteia împreună cu informaţiile conţinute fiind şterse.

Sintaxa comenzii este :

DROP TABLE nume_relaţie

Funcţii de agregare

Funcţiile de agregare efectuează un anumit calcul asupra unui set de valori şi


returnează ca rezultat o singură valoare. Funcţiile de agregare sunt adesea
folosite împreună cu clauza GROUP BY pentru a calcula valori agregate la
nivelul grupurilor de tuple.

Principalele funcţii de agregare disponibile în SQL Server sunt :

Sintaxa Semnificaţie

AVG([ALL | DISTINCT] expresie numerică) media valorilor unui grup


COUNT({[ALL | DISTINCT] expresie }|*)) numărul de elemente ale unui
grup
MAX([ALL | DISTINCT ] expresie maximul dintr-un grup de valori
MIN([ALL | DISTINCT ] expresie minimul dintr-un grup de valori
SUM([ALL | DISTINCT] expresie_numerică) suma valorilor unui grup
STDEV(expresie_numerică) returnează deviaţia standard pentru valorile
expresiei dată ca argument
STDEVP(expresie_numerică) returnează deviaţia standard pentru populaţia
tuturor valorilor expresiei dată ca argument
VAR(expresie_numerică) returnează variaţia statistică pentru valorile
expresiei dată ca argument
VARP(expresie_numerică) returnează variaţia statistică pentru populaţia
tuturor valorilor expresiei dată ca argument

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