Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Formatet e operatorit për ndryshimin dhe fshirjen e të dhënave. Deklaratat bazë SQL

SQL (StructuredQueryLanguage - "Structured Query Language") është një gjuhë kompjuterike me qëllime të përgjithshme që përdoret për të krijuar, modifikuar dhe manipuluar të dhëna në bazat e të dhënave relacionale. Gjuha SQL bazohet në algjebër relacionale dhe është një koleksion operatorësh.

Ka 4 grupe operatorësh. Konsideroni një grup operatorësh të manipulimit të të dhënave (Gjuha e Manipulimit të të Dhënave, DML, SQL DML)

Zgjedhja e të dhënave

Përzgjedhja e të dhënave është operacioni më i zakonshëm i kryer duke përdorur SQL. Deklarata SELECT është një nga pohimet më të rëndësishme në këtë gjuhë për zgjedhjen e të dhënave. Sintaksa për këtë operator është si më poshtë:

ZGJIDH kolonën NGA tabela

Deklaratat SELECT duhet të përmbajnë fjalët SELECT dhe FROM; fjalë kyçe të tjera janë opsionale.

Fjala kyçe SELECT ndiqet nga informacione se cilat fusha të përfshihen në grupin e të dhënave që rezulton. Një yll (*) tregon të gjitha fushat në një tabelë, për shembull:

Për të zgjedhur një kolonë të vetme, përdoret sintaksa e mëposhtme:

ZGJIDH Kompania

Një shembull i zgjedhjes së kolonave të shumta duket si ky:

ZGJIDH Kompania, telefon,Postë

Fjala kyçe FROM përdoret për të specifikuar emrat e tabelave nga të cilat përzgjidhen regjistrimet, për shembull:

ZGJIDH * NGA Klientët

Ky pyetje do të kthejë të gjitha fushat nga tabela e klientëve.

Ju mund të përdorni klauzolën WHERE (opsionale) për të filtruar rezultatet e kthyera nga një deklaratë SELECT

SELECT * NGA Produktet WHERE Kategoria = 4

Ju mund të përdorni shprehje të ndryshme në klauzolën WHERE,

WHERE shprehja 1 [(DHE | OSE) shprehja2 ...]

për shembull:

ZGJIDH * NGA Produktet WHERE Kategoria = 2 DHE Postavshik > 10

SELECT Emrin, Çmimi NGA Produktet WHERE Kategoria= 3 OSE Çmimi< 50

Ju mund të përdorni operatorët e mëposhtëm:

< Меньше

<= Меньше или равно

<>Jo të barabartë

> Më shumë

>= Më e madhe ose e barabartë

Klauzola ORDER BY (opsionale) përdoret për të renditur rezultatin e vendosur nga një ose më shumë kolona. Fjalët kyçe ASC (në ngjitje) ose DESC (në zbritje) përdoren për të përcaktuar renditjen e renditjes. Si parazgjedhje, të dhënat renditen në rend rritës.

Modifikimi i të dhënave

Përveç marrjes së të dhënave, SQL mund të përdoret për përditësimin dhe fshirjen e të dhënave, kopjimin e të dhënave në tabela të tjera dhe kryerjen e operacioneve të tjera. Më poshtë, do të shikojmë deklaratat UPDATE, DELETE dhe INSERT të përdorura për të përmbushur disa nga këto detyra.

Përditëso deklaratën

Një deklaratë UPDATE përdoret për të ndryshuar vlerat në një ose më shumë kolona të një tabele. Sintaksa për këtë operator është:

Përditëso SET-in e tabelës kolona1 = shprehja1 WHERE kriteret

Një shprehje në një klauzolë SET mund të jetë një konstante ose rezultat i një llogaritjeje. Për shembull, për të rritur çmimin e të gjitha produkteve që kushtojnë më pak se 10 dollarë, mund të kryeni pyetjen e mëposhtme:

Përditëso Produktet SET Çmimi = Çmimi * 1.1 KU Çmimi< 10

FSHI deklaratën

Për të fshirë rreshtat nga tabelat, përdorni deklaratën DELETE, sintaksa e së cilës është:

FSHI NGA tabela KU kriteret

Hiqni të gjitha produktet kostoja e të cilave është më pak se 100:

FSHIJE NGA Produktet KU çmimi< 100

OperatoriINSERT

Për të shtuar regjistrime në tabela, përdorni deklaratën INSERT, sintaksa e së cilës është:

INSERT NË tabelën ( VLERAT (shprehje [, ...])

Për shembull, për të shtuar një klient të ri në tabelën e klientëve, mund të përdorni pyetjen e mëposhtme:

INSERT NË Klientët (ID-ja e klientit, emri i kompanisë) VLERAT ('XYZ', 'XYZ Deli')

Një operator O është një fjalë ose karakter i rezervuar i përdorur kryesisht në WHERE dhe jep një deklaratë SQL për të kryer një veprim(a) të tilla si krahasimet dhe operacionet aritmetike.

Operatorët përdoren për të përcaktuar kushtet në SQL dhe shërbejnë si bashkime për kushte të shumta në një deklaratë.

  • Operatorët aritmetikë
  • Operatorët e Krahasimit
  • Operatorët logjikë
  • Operatorët përdoren për të mohuar një kusht

Operatorët aritmetikë në SQL:

Supozoni një ndryshore aështë e barabartë me 10, dhe ndryshorja bështë e barabartë me 20, atëherë:

Operatorët krahasues në SQL:

Supozoni se ndryshorja a është 10 dhe ndryshorja b është 20, atëherë:

operatoriPërshkrimshembull
= Kontrollon nëse vlerat e dy operandëve janë të barabarta apo jo, nëse po, atëherë kushti bëhet i vërtetë.(a = b) nuk është e vërtetë.
!= (a != b) është e vërtetë.
<> Kontrollon nëse vlerat e dy operandëve janë të barabarta apo jo, nëse vlerat nuk janë të barabarta atëherë kushti bëhet i vërtetë.(a<>b) e vërtetë.
> Kontrollon nëse vlera e operandit të majtë është më e madhe se vlera e operandit të djathtë, nëse po, atëherë kushti bëhet i vërtetë.(a > b) nuk është e vërtetë.
< Kontrollon nëse vlera e operandit të majtë është më e vogël se vlera e operandit të djathtë, nëse po, atëherë kushti bëhet i vërtetë.(a< b) истинно.
> = Teston nëse vlera e operandit të majtë është më e madhe ose e barabartë me vlerën e operandit të djathtë, nëse po, atëherë kushti bëhet i vërtetë.(a >= b) është e pasaktë.
<= Teston nëse vlera e operandit të majtë është më e vogël ose e barabartë me vlerën e operandit të djathtë, nëse po, atëherë kushti bëhet i vërtetë.(a<= b) истинно.
Kontrollon nëse vlera e operandit të majtë nuk është më e vogël se vlera e operandit të djathtë, nëse po, atëherë kushti bëhet i vërtetë.(a!< b) неверно.
!> Kontrollon nëse vlera e operandit të majtë nuk është më e madhe se vlera e operandit të djathtë, nëse po, atëherë kushti bëhet i vërtetë.(a! > b) është e saktë.

Operatorët logjikë në SQL:

Këtu është një listë e të gjithë operatorëve logjikë të disponueshëm në SQL.

operatoriPërshkrim
TE GJITHAOperatori ALL përdoret për të krahasuar një vlerë për të gjitha vlerat në një grup tjetër vlerash.
DHEOperatori AND lejon që kushte të shumta të ekzistojnë në një klauzolë SQL WHERE.
NDONJEOperatori ANY përdoret për të krahasuar çdo vlerë të aplikueshme në një listë sipas kushteve.
NDËRMJETOperatori BETWEEN përdoret për të gjetur vlerat që janë brenda një grupi vlerash, duke pasur parasysh një vlerë minimale dhe një vlerë maksimale.
EKZISTONOperatori EXISTS përdoret për të kërkuar praninë e një rreshti në një tabelë të caktuar që përputhet me kritere të caktuara.
Operatori IN përdoret për të krahasuar një vlerë në një listë të vlerave letrare që janë përcaktuar.
LIKEOperatori LIKE përdoret për të krahasuar vlera të ngjashme duke përdorur operatorët e shkronjave të egra.
JOOperatori NOT ndryshon kuptimin e operatorit logjik me të cilin përdoret. Për shembull: NUK EKZISTON, NUK MIDIS, JO NË, etj. Kjo është mohuar nga operatori.
OSEOperatori OR përdoret për të kombinuar kushte të shumta në një klauzolë SQL WHERE.
ËSHTË NULLOperatori null përdoret për të krahasuar një vlerë me një vlerë null.
UNIKEDeklarata e vetme kërkon çdo rresht nga tabela e specifikuar për unike (pa dublikatë).

Gjuha e pyetjeve të strukturës (SQL) u krijua si rezultat i zhvillimit të modelit të të dhënave relacionale dhe aktualisht është standardi de facto i gjuhës për DBMS relacionale. Gjuha SQL sot mbështetet nga një numër i madh DBMS të llojeve të ndryshme.

Emri i gjuhës SQL zakonisht shqiptohet me shkronjat "es-q-el". Emri mnemonik "See-Quel" përdoret ndonjëherë.

Gjuha SQL i siguron përdoruesit (me përpjekje minimale nga ana e tij) karakteristikat e mëposhtme:

Krijoni baza të të dhënave dhe tabela me një përshkrim të plotë të strukturës së tyre

Kryeni operacionet bazë të manipulimit të të dhënave: futni, modifikoni, fshini të dhënat

Kryeni pyetje të thjeshta dhe komplekse.

Gjuha SQL është relacionalisht e plotë.

Struktura dhe sintaksa e komandave të saj janë mjaft të thjeshta, dhe vetë gjuha është universale, d.m.th. sintaksa dhe struktura e komandave të saj nuk ndryshon kur lëviz nga një DBMS në tjetrën.

Gjuha SQL ka dy komponentë kryesorë:

DDL (Data Definition Language) për përcaktimin e strukturave të bazës së të dhënave dhe kontrollin e aksesit në të dhëna

DML (Data Manipulation Language) përdoret për të tërhequr dhe përditësuar të dhënat.

Gjuha SQL është joprocedurale, d.m.th. kur e përdorni, duhet të specifikoni se çfarë informacioni do të merret dhe jo se si mund të merret. Komandat SQL janë fjalë të zakonshme angleze (SELECT, INSERT, etj.). Konsideroni fillimisht deklaratat SQL DML:

SELECT - duke marrë të dhëna nga baza e të dhënave

INSERT - futja e të dhënave në një tabelë

UPDATE - përditësimi i të dhënave në një tabelë

DELETE - fshirja e të dhënave nga një tabelë

ZGJIDH deklaratën

Deklarata SELECT kryen veprime ekuivalente me operacionet e mëposhtme të algjebrës relacionale: zgjidhni, projektoni dhe bashkohu.

Pyetja më e thjeshtë SQL duke e përdorur atë duket si kjo:

ZGJIDH col_name NGA tbl

Fjala kyçe "select" pasohet nga një listë kolonash e ndarë me presje, të dhënat e të cilave do të kthehen si rezultat i pyetjes. Fjala kyçe from specifikon se nga cila tabelë (ose pamje) merren të dhënat.

Rezultati i një pyetjeje të përzgjedhur është gjithmonë një tabelë, e cila quhet tabela e rezultateve. Për më tepër, rezultatet e një pyetjeje të ekzekutuar me një deklaratë të përzgjedhur mund të përdoren për të krijuar një tabelë të re. Nëse rezultatet e dy pyetjeve kundrejt tabelave të ndryshme kanë të njëjtin format, ato mund të kombinohen në një tabelë. Gjithashtu, tabela e marrë si rezultat i një pyetjeje mund të bëhet objekt i pyetjeve të mëtejshme.

Për të zgjedhur të gjitha kolonat dhe të gjitha rreshtat e një tabele, mjafton të lëshoni një SELECT * FROM tbl;

Konsideroni një tabelë produkti që përmban informacione për çmimet për produkte të ndryshme:

Kërkoni rezultat

SELECT * NGA Produkti;

do të jetë i gjithë produkti i tabelës.

Ju mund të zgjidhni kolona specifike të një tabele duke përdorur një pyetje

SELECT col1, col2, … , coln FROM tbl;

Pra, rezultati i pyetjes

SELECT Lloji, Çmimi NGA Produkti;

do të ketë një tryezë

Lista e kolonave në deklaratën e përzgjedhjes përdoret gjithashtu nëse është e nevojshme të ndryshoni renditjen e kolonave në tabelën që rezulton:

Për të zgjedhur vetëm ato rreshta të tabelës që plotësojnë kufizime të caktuara, përdoret fjala kyçe e veçantë ku, e ndjekur nga një kusht logjik. Nëse hyrja plotëson këtë kusht, ajo përfshihet në rezultat. Përndryshe, hyrja hidhet poshtë.

Për shembull, zgjedhja e atyre produkteve nga tabela e produkteve, çmimi i të cilave plotëson kushtin e Çmimit<3200, можно осуществить, используя запрос

ZGJEDHNI * NGA Produkti ku Çmimi<3200;

Rezultati i tij:

Kushti mund të jetë i përbërë dhe i kombinuar duke përdorur operatorët logjik NOT , AND, OR, XOR, për shembull: ku id_ Çmimi>500 DHE Çmimi<3500. Допускается также использование выражений в условии: where Price>(1+1) dhe konstantet e vargut: ku emri= "autobalances".

Përdorimi i konstruksionit BETWEEN var1 AND var2 ju lejon të kontrolloni nëse vlerat e një shprehjeje bien brenda intervalit nga var1 në var2 (duke përfshirë këto vlera):

ZGJIDH * NGA produkti ku Çmimi MES 3000 DHE 3500;

Për analogji me operatorin NOT BETWEEN, ekziston operatori NOT IN.

Emrat e kolonave të specifikuara në klauzolën SELECT mund të riemërohen. Për këtë përdoret fjala kyçe AS, e cila, megjithatë, mund të hiqet, pasi nënkuptohet në mënyrë implicite. Për shembull, një kërkesë

SELECT Lloji model AS, Type_id AS num FROM Produkt ku Type_id =3

do të kthehet (emrat e pseudonimit duhet të shkruhen pa thonjëza):

Operatori LIKE është për të krahasuar një varg me një model:

SELECT * NGA tbl ku col_name LIKE "abc"

Ky pyetës kthen vetëm rekorde që përmbajnë vlerën e vargut abc në kolonën col_name.

Në model lejohen dy karaktere wildcard: "_" dhe "%". E para prej tyre zëvendëson një karakter arbitrar në shabllon, dhe e dyta zëvendëson një sekuencë karakteresh arbitrare. Pra, "abc%" përputhet me çdo varg që fillon me abc, "abc_" përputhet me çdo varg prej 4 karakteresh që fillon me abc, "%z" përputhet me çdo varg që përfundon me z, dhe në fund "%z%" - sekuenca të karaktere që përmbajnë z.

Ju mund t'i gjeni të gjitha regjistrimet në tabelën e produktit ku vlera e tipit fillon me shkronjën "a" si më poshtë:

SELECT * NGA Produkti ku shkruani LIKE "a%";

peshore kamioni

Nëse vargu i kërkimit përmban një karakter wildcard, atëherë duhet të specifikoni një karakter kontrolli në klauzolën ESCAPE. Ky karakter kontrolli duhet të përdoret në model përpara karakterit të shkrepjes, duke treguar se ky i fundit duhet të trajtohet si një karakter i rregullt. Për shembull, nëse dëshironi të gjeni të gjitha vlerat që përmbajnë karakterin "_" në një fushë të caktuar, atëherë modeli "%_%" do t'i kthejë të gjitha të dhënat nga tabela. Në këtë rast, shablloni duhet të shkruhet si më poshtë:

"%|_%" SHKAT "|"

Për të kontrolluar nëse vlera përputhet me vargun "20%", mund të përdorni operatorin e mëposhtëm:

Pëlqej "20#%" IKË "#"

Operatori IS NULL ju lejon të kontrolloni mungesën (prezencën) e një vlere NULL në fushat e një tabele. Përdorimi i operatorëve normalë të krahasimit në këto raste mund të çojë në rezultate të pasakta, pasi krahasimi kundrejt NULL rezulton në PANJOHUR (i panjohur). Kështu, gjendja e përzgjedhjes duhet të duket si kjo:

ku emri_col ËSHTË NULL në vend të ku col_name=NULL.

Rezultati i parazgjedhur i marrjes i kthen të dhënat në të njëjtin rend si ato janë ruajtur në bazën e të dhënave. Nëse dëshironi të renditni regjistrimet sipas njërës prej kolonave, duhet të përdorni klauzolën RENDI SIPAS, pas së cilës tregohet emri i kësaj kolone:

ZGJIDH * NGA tbl ORDER BY col_name;

Si rezultat i kësaj pyetjeje, të dhënat do të kthehen në rend rritës të vlerës së atributit col_name.

Regjistrimet gjithashtu mund të renditen sipas kolonave të shumta. Për ta bërë këtë, emrat e tyre duhet të specifikohen pas ORDER BY, të ndarë me presje:

ZGJIDH * NGA tbl ORDER BY col_name1, col_name2.

Të dhënat do të renditen sipas fushës col_name1; nëse ka disa regjistrime me të njëjtën vlerë në kolonën col_name1, atëherë ato do të renditen sipas fushës col_name2.

Nëse dëshironi të renditni regjistrimet në rend të kundërt (për shembull, sipas datës në rënie), duhet të specifikoni RENDIT SIPAS emrit të kolonës DESC.

Për renditjen e drejtpërdrejtë, ekziston fjala kyçe ASC, e cila pranohet si vlera e paracaktuar.

Nëse rezultati i përzgjedhjes përmban qindra e mijëra regjistrime, prodhimi dhe përpunimi i tyre kërkon një kohë të konsiderueshme.

Prandaj, informacioni shpesh faqezohet dhe i paraqitet përdoruesit në copa. Fletëzimi përdoret me fjalën kyçe limit e ndjekur nga numri i hyrjeve për t'u shfaqur. Pyetja e mëposhtme merr 10 rekordet e para, ndërkohë që renditet në të njëjtën kohë në fushën col_name1:

ZGJIDH * NGA tbl RENDI SIPAS col_emrit1 KUFIZIMI I DESC 10

Për të nxjerrë 10 rekordet e ardhshme, fjala kyçe limit përdoret me dy vlera: e para specifikon pozicionin nga ku do të shfaqet rezultati dhe e dyta specifikon numrin e rekordeve që duhen marrë:

ZGJIDH * NGA tbl RENDI SIPAS col_emrit1 KUFIZIMI I ZBRITJES 10,10

Për të tërhequr 10 regjistrimet e ardhshme, përdorni konstruksionin LIMIT 20, 10.

Dhe mbi të dhënat e tabelës.

Gjuha SQL quhet të ndërtuara, sepse ai përmban funksionet e një gjuhe zhvillimi të plotë dhe fokusohet në aksesin e të dhënave, si rezultat i së cilës përfshihet në mjetet e zhvillimit të aplikacionit. Standardet e gjuhës SQL mbështesin Pascal, Fortran, COBOL, C dhe gjuhë të tjera programimi.

ekziston 2 metoda për të përdorur SQL të ngulitur:

  • statike përdorimi i gjuhës ( SQL statike) - teksti i programit përmban thirrje për funksionet SQL që përfshihen në modulin e ekzekutueshëm pas kompilimit.
  • dinamike përdorimi i gjuhës ( SQL dinamike) – ndërtimi dinamik i thirrjeve të funksioneve SQL dhe interpretimi i tyre. Për shembull, mund të përdorni të dhënat e bazës së të dhënave në distancë gjatë ekzekutimit të programit.

Gjuha SQL (si gjuhët e tjera të bazës së të dhënave) është krijuar për të përgatitur dhe ekzekutuar pyetje. Si rezultat i ekzekutimit të një pyetësori të të dhënave nga një ose më shumë tabela, fitohet një grup rekordesh, i cili quhet performancës.

Përkufizimi 1

Performancaështë një tabelë që formohet si rezultat i ekzekutimit të pyetjes.

Operatorët bazë të gjuhës SQL Query

Deklaratat SQL ndahen me kusht në 2 nëngjuhë:

  1. Gjuha e përkufizimit të të dhënave DDL;
  2. Gjuha e manipulimit të të dhënave DML.

Në tabelë, simboli * është shënuar operatorë të veçantë gjuhe.

Le të hedhim një vështrim në deklaratat më të rëndësishme SQL.

    Deklarata e krijimit të tabelës:

    Emri i tabelës që krijohet dhe emri i të paktën një kolone (fushe) janë operandë të kërkuar. Për emrin e kolonës, duhet të specifikoni llojin e të dhënave që do të ruhen në të.

    Për fusha individuale, mund të specifikoni rregulla shtesë për kontrollin e vlerave që futen në to. Për shembull, JO NULL tregon se fusha nuk mund të jetë bosh dhe duhet të futet një vlerë në të.

    Shembulli 1

    Për të krijuar një tabelë librat drejtoria e librave, e cila përmban fushat:

    lloji- lloji i librit

    emri- emri i librit,

    çmimi– çmimi i librit

    Operatori mund të duket si ky:

    Operatori i ndryshimit të strukturës së tabelës:

    Kur ndryshoni strukturën e tabelës, mund të shtoni ( SHTO), ndryshim ( MODIFIKONI) ose fshini ( RËZË) një ose më shumë kolona të tabelës. Rregullat për shkrimin e këtij operatori janë të njëjta si për operatorin KRIJONI TABELA. Ju nuk keni nevojë të specifikoni për të fshirë një kolonë.

    Shembulli 2

    Për të shtuar në tryezë librat fusha numri, i cili do të ruajë numrin e librave, mund të shkruani operatorin:

    Deklarata e rënies së tabelës:

    Shembulli 3

    Për shembull, për të hedhur një tabelë ekzistuese me emrin librat thjesht përdorni operatorin:

    Deklarata e krijimit të indeksit:

    Deklarata krijon një indeks në një ose më shumë kolona të një tabele të caktuar, e cila përshpejton operacionet e kërkimit dhe kërkimit. Indekse të shumta mund të krijohen në të njëjtën tabelë.

    Opsioni opsional UNIKEështë përgjegjës për sigurimin e unike të vlerave në të gjitha kolonat që janë specifikuar në deklaratë.

    ASC vendos renditjen automatike të vlerave në kolona në rend rritës (parazgjedhje) dhe DESC- në rend zbritës.

    Operatori i rënies së indeksit:

    Shiko operatorin e krijimit:

    Kur krijoni një pamje, mund të lini jashtë emrat e kolonave. Pastaj do të përdoren emrat e kolonave nga pyetësori, i cili përshkruhet nga operatori përkatës ZGJIDH.

    Shiko operatorin e fshirjes:

    Operatori i përzgjedhjes së regjistrimit:

    Operatori ZGJIDH zgjedh dhe kryen llogaritjet mbi të dhënat nga një ose më shumë tabela. Rezultati i ekzekutimit të deklaratës është një tabelë përgjigjesh që përmban ( TE GJITHA) ose nuk përmban ( TË DAKTUAR) rreshta që përsëriten.

    Operand NGA përmban një listë tabelash nga të cilat merren shënimet për përzgjedhjen e të dhënave.

    Operatori i modifikimit të rekordit:

    Vlerat e reja të fushave në regjistrime mund të mos përmbajnë vlera ( I PAVLEFSHËM) ose llogaritet sipas një shprehje aritmetike.

    Operatori për futjen e të dhënave të reja:

    Në rekordin e parë të operatorit INSERT të dhënat e reja futen me vlerat e dhëna në kolona.

    Në rekordin e dytë të operatorit INSERT futen rreshta të rinj, të zgjedhur nga një tabelë tjetër përmes një fjalie ZGJIDH.

    Fshi operatorin e regjistrimit:

    Si rezultat i ekzekutimit të operatorit, rreshtat që plotësojnë kushtin e specifikuar nga operandi opsional fshihen nga tabela e specifikuar KU. Nëse operandi KU nuk është specifikuar, të gjitha të dhënat në tabelë janë fshirë.

Disiplina: Baza e të dhënave

Operatorët e gjuhësSQL

Gjuha SQL përfshin operatorë të kategorive të ndryshme. Çdo deklaratë SQL përbëhet nga fjalë dhe fjalë të rezervuara të përcaktuara nga përdoruesi në përputhje me rregullat sintaksore të vendosura. Ashtu si me shumë gjuhë programimi, shumica e përbërësve të deklaratave të gjuhës janë të pandjeshme ndaj shkronjave të vogla. Përjashtim nga ky rregull janë, si zakonisht, të dhënat e karaktereve, të cilat duhet të jenë të ndërgjegjshme dhe të përdorin atë që nevojitet për të përfaqësuar të dhënat.

Për të shkruar deklarata në gjuhë, është miratuar një format i lirë, i cili bën të mundur që programi SQL të bëhet më i lexueshëm përmes dhëmbëzimit dhe rreshtimit.

    çdo frazë në deklaratë duhet të fillojë në një rresht të ri;

    fillimi i secilës frazë duhet të përafrohet me fillimin e pjesës tjetër të frazave të pohimit;

    secila pjesë e frazës duhet të fillojë në një rresht të ri me disa dhëmbje në lidhje me fillimin e të gjithë frazës, gjë që do t'ju lejojë të nënvizoni pjesët e nënrenditura;

    Disa konventa zbatohen për operatorët e shkrimit:

    shkronjat e mëdha përdoren për të shkruar fjalë të rezervuara;

    shkronjat e vogla përdoren për të shkruar fjalë të përcaktuara nga përdoruesi;

    shiriti vertikal "|" tregon nevojën për të zgjedhur një nga disa vlera;

    mbajtëset kaçurrelë përcaktojnë një element të kërkuar;

    kllapat katrore përcaktojnë një element opsional;

    elipsa "..." përdoret për të treguar mundësinë opsionale të përsëritjes së konstruksionit, nga zero në disa herë.

Operatorët e përkufizimit të të dhënave (Tabela 1) përdoren për të përshkruar strukturat e të dhënave të përdorura. Kjo kategori përfshin thëniet e mëposhtme: krijimi i tabelës, lëshimi i tabelës, ndryshimi i tabelës, krijimi i pamjes, ALTER VIEW, HIQ PARAQITUR.

Tabela 1 . Operatorët e përkufizimit të të dhënave

Operatori Shpjegim

krijoni tabelën

Tabela DOP

ndrysho tabela

KRIJO PAMJE Krijo një pamje

ndrysho pamjen

pamje e lëshimit

Operatorët e manipulimit të të dhënave, të cilët formojnë kategorinë tjetër të operatorëve, janë krijuar për të mbushur tabelat me të dhëna dhe për të përditësuar informacionin e ngarkuar në to. Kjo kategori përfshin operatorët e mëposhtëm: delete, insert, update (Tabela 2).

tabela 2 . Operatorët e manipulimit të të dhënave

OperatoriShpjegim

Fshi Fshin një ose më shumë rreshta që përputhen me kushtet

filtrim, nga tabela bazë

INSERT Fut një rresht në tabelën bazë

përditësimi Përditëson vlerat e një ose më shumë kolonave në një ose më shumë

linja të shumta që përputhen me kushtet e filtrit

Për të zgjedhur informacionin nga baza e të dhënave, synohet gjuha e pyetjes, e cila në gjuhën SQL përfaqësohet nga një deklaratë e vetme e përzgjedhjes (Tabela 3).

Tabela 3 Gjuha e pyetjes

Operatori Shpjegim

zgjidhni Zgjedh rreshtat; operator që ju lejon të formoni rezultatin

tabelë që përputhet me pyetjen

Përveç kategorive të treguara të operatorëve, qëllimi i të cilave nuk është i vështirë të imagjinohet pas leximit të shpjegimeve në tabela, është e nevojshme të veçohen dy të tjerë: operatorët e menaxhimit të transaksioneve (Tabela 4) dhe mjetet e administrimit të të dhënave (Tabela 5). .

Tabela 4. Menaxhimi i transaksioneve

Shpjegimi i operatorit

angazhohem Përfundoni transaksionin - përfundoni përpunimin e informacionit,

kombinuar në një transaksion

Transaksioni i rikthimit - zhbëni ndryshimet e bëra gjatë ekzekutimit

gjendjen e bazës së të dhënave, shënoni atë në mënyrë që të mund të ktheheni në të më vonë

Tabela 5 . Administrimi i të dhënave

Shpjegimi i operatorit

ALTER BAZA E TË DHËNAVE Ndryshoni grupin e objekteve bazë në bazën e të dhënave, kufizimet në lidhje me

të gjithë bazën e të dhënave

ALTER DBAREA Modifikoni një zonë magazinimi të krijuar më parë

ALTER PASSWORD Ndrysho fjalëkalimin për të gjithë bazën e të dhënave

KRIJO BAZA E TË DHËNAVE Krijo një bazë të dhënash të re

KRIJO DBAREA Krijoni një zonë të re ruajtjeje dhe bëjeni të disponueshme për pritje

HIQ BAZA E TË DHËNAVE Lësho një bazë të dhënash ekzistuese

HIQ DBAREA Fshini një zonë ruajtjeje ekzistuese (nëse nuk përmban aktualisht

të dhënat aktive gjenden)

GRANT Jepni të drejta aksesi për një numër veprimesh në disa objekte të bazës së të dhënave

REVOKE Revokoni të drejtat e aksesit për disa objekte ose disa veprime në

Objekt

Në DBMS komerciale, grupi i operatorëve bazë është zgjeruar. Shumica e DBMS-ve përfshijnë deklarata për të përcaktuar dhe fshirë indeksin e ekzekutimit të procedurave të ruajtura dhe deklarata për të përcaktuar shkaktarët.

Është e zakonshme të fillohet njohja me këtë gjuhë duke marrë parasysh aftësitë e gjuhës së pyetjes, e cila në gjuhën SQL përfaqësohet nga një deklaratë e vetme e përzgjedhur, sepse kjo deklaratë e fuqishme, natyrisht, është edhe më kompleksi. Përveç kësaj, është interesante të shihet se si mund të përdoret në lidhje me operatorët e manipulimit të të dhënave në të ardhmen.

    Zgjidhni deklaratënZGJIDH . Formimi i pyetjeve në bazën e të dhënave

Qëllimi i deklaratës Select është të zgjedhë dhe të shfaqë të dhëna nga një ose më shumë tabela të bazës së të dhënave. Ky operator jashtëzakonisht i fuqishëm, më i përdoruri zbaton të gjitha operacionet e algjebrës relacionale. E njëjta kërkesë mund të zbatohet në disa mënyra, të cilat mund të ndryshojnë ndjeshëm në kohën e ekzekutimit.

Zgjidhni formatin e deklaratës:

ZGJEDH *|<список полей>NGA<список таблиц>

Rendi i caktuar i frazave në deklaratën e përzgjedhjes nuk mund të ndryshohet, por nuk kërkohen të gjitha pjesët e tij. Klauzolat e kërkuara përfshijnë vetëm klauzolat selekto dhe nga. Të gjitha pjesët e tjera të operatorit mund të përdoren sipas gjykimit të programuesit. Shpjegim:

□ Fraza zgjidhni:

Prezenca e fjalëve kyçe të gjitha(default) do të thotë që tabela që rezulton përfshin të gjitha rreshtat që përputhen me kushtet e pyetjes, të cilat mund të çojnë në shfaqjen e rreshtave të dyfishta në tabelën rezultuese;

Fjalë kyçe të dallueshme projektuar për të sjellë tabelën në përputhje me parimet e teorisë relacionale, e cila supozon mungesën e rreshtave të dyfishta;

Simboli " * " përcakton një situatë shumë të zakonshme ku grupi i rezultateve përfshin të gjitha kolonat nga tabela origjinale e pyetjeve.

□ Në një frazë nga specifikohet një listë e tabelave burimore të pyetjes.

□ Në një frazë ku Përcaktohen kushtet për zgjedhjen e rreshtave të rezultateve ose kushteve për bashkimin e rreshtave të tabelave burimore, të ngjashme me operacionin e bashkimit të kushtëzuar në algjebër relacionale. Kallëzuesit e mëposhtëm mund të përdoren si kushte përzgjedhjeje:

Krahasimet "= ,<>, >, <, >=, <=" - для сравнения результатов вы­числения двух выражений; более сложные выражения строятся с по­мощью логических операторов AND, OR, NOT; значения выражений вычисляются в порядке, который определяется приоритетом исполь­зуемых операторов и наличием скобок в выражении;

ndërmjetPORdheAT- kallëzuesi është i vërtetë kur vlera e vlerësuar e shprehjes bie brenda intervalit të caktuar (kallëzuesi jondërmjetadheAT e vërtetë kur vlera që krahasohet nuk bie brenda intervalit të specifikuar);

- kallëzuesi është i vërtetë kur vlera e krahasuar përfshihet në bashkësinë e vlerave të dhëna; në këtë rast, grupi i vlerave mund të specifikohet me një numërim të thjeshtë ose një nënpyetje të integruar (jo në kallëzues është e vërtetë kur vlera e krahasuar nuk përfshihet në grupin e specifikuar);

si dhe josi- kallëzuesit, kuptimi i të cilave është i kundërt, kërkojnë specifikimin e një shablloni me të cilin krahasohet vlera e dhënë; kallëzuesi i ngjashëm është i vërtetë kur vlera që krahasohet përputhet me modelin, dhe e gabuar përndryshe;

ËSHTËi pavlefshëm- një kallëzues i përdorur për të zbuluar barazinë e vlerës së disa atributeve me një vlerë të papërcaktuar:

    <имя атрибута> ËSHTËi pavlefshëm- merr vlerën true nëse atributi i specifikuar në këtë varg ka një vlerë të pacaktuar dhe false, përndryshe;

    <имя атрибута> ËSHTËJOi pavlefshëm- çdo gjë ndodh anasjelltas.

ekzistojnë dhe joekzistojnë Përdoret në nënpyetjet inline.

□ Në një frazë grupngaështë vendosur lista e fushave të grupimit.

□ Në një frazë duke pasur vendosen kallëzuesit-kushtet e vendosura për secilin grup.

□ Në një frazë urdhërojnga specifikohet një listë e fushave të renditjes së rezultateve, domethënë një listë fushash që përcakton rendin e renditjes në tabelën që rezulton.

Standardi SQL përcakton konceptin e një vlere NULL, e cila kërkonte përdorimin e logjikës me tre vlera, ku të gjitha operacionet logjike kryhen në përputhje me tabelën e së vërtetës më poshtë (Tabela 6).

Tabela 6 . tabela e së vërtetës

A DHE B

TRUE

1.1. Pyetje të thjeshta

Kërkesa 1

Shfaq informacione rreth departamenteve të universitetit.

Kjo detyrë reduktohet në zgjedhjen dhe shfaqjen e informacionit nga një tabelë, dhe të gjitha rreshtat dhe të gjitha kolonat e saj i nënshtrohen daljes:

ZGJIDH * NGA departamenti

Rezultati i një pyetjeje të tillë do të jetë një tabelë që përmban informacione për të gjitha departamentet e universitetit:

kodi kaf

Emri kaf

Nom_telef

Nom_Auditoria

Col_sotr

Ivanov T.M.

Matematikë e Përgjithshme

Makhov K L.

Ross L.T.

Firsov S.S.

Matematikë e Aplikuar

Lyakhova I.T.

Kërkesa 2

Shfaq numrat e telefonit të departamenteve të universitetit.

Rezultati i një pyetjeje të tillë duhet të përmbajë vetëm dy kolona: Emri_ kaf dhe Emër_ telef, kështu që vetë pyetja duhet të duket kështu:

SELECT Emri_kaf, Nom_telef FROM kafedra

Tabela e rezultateve:

Emrikaf Nomjelef

Fizika 23-34-24

Matematikë e Përgjithshme 23-65-43

Tregime 23-78-72

Grafikët 23-99-77

Matematikë e Aplikuar 23-66-62

Në pyetjet e formuara më sipër, kërkohej të shfaqeshin të gjitha rreshtat e tabelës të specifikuara në klauzolën nga. Nëse zgjedhja duhet të kufizojë numrin e rreshtave të daljes sipas ndonjë kushti, atëherë kjo mund të arrihet duke përdorur klauzolën ku në pyetje. Mund të përfshini një ose më shumë kushte të përzgjedhjes së rreshtit në klauzolën ku.

Kërkesa 3

Shfaq informacione rreth departamentit të grafikës.

SELECT * FROM kafedra WHERE Name_kaf = "Charts"

Përgjigja ndaj një kërkese të tillë do të përmbajë vetëm një rresht:

Kod.kaf Emri_kaf NomjelefNom_Auditoria Col_sotr Zav_kaf

004 Grafikët 23-99-77 385 18 Firsov C.C.

Kërkesa 4

Shfaqni informacione për departamentet e universitetit të vendosura në katin përdhes, duke marrë parasysh faktin se dhomat në katin përdhes janë në rangun nga 1 deri në 99.

Kërkesa do të duket si kjo:

ZGJIDH * NGA kafedra WHERE Nom_Auditoria BETWEEN 1 DHE 99

Rezultati i pyetjes:

KodjcafEmri_kafNorn lelef Norn Auditoria Coi_sotr Zavkaf

002 Matematikë e përgjithshme 23-65-43 003 22 Makhov K.L.

matematikë

Në përgjithësi, rreshtat në tabelën rezultuese shfaqen në një gjendje të parregulluar në një farë mënyre. Shikimi dhe analizimi i një materiali të tillë nuk është gjithmonë i përshtatshëm. Rendi sipas klauzolës përdoret për të renditur rreshtat sipas çdo kolone. Ai përfshin një listë të ndarë me presje të emrave të kolonave me të cilat dëshironi të renditni informacionin e shfaqur. Kjo frazë duhet të vendoset gjithmonë e fundit në deklaratën e përzgjedhjes dhe, nëse është e pranishme, bëhet e mundur renditja e rreshtave në vlerat rritëse (asc) ose zbritëse (zbritje) të kolonës së specifikuar ose kombinimit të kolonave të specifikuara, pavarësisht nëse këto kolonat janë të pranishme në tabelën që rezulton apo jo.

Kërkesa 5

Shfaqni informacione për departamentet e universitetit në formën e renditur sipas kolonësEmri_ kafnë rend rritës.

Kërkesa do të duket si kjo:

ZGJIDH * NGA kafedra ORDER BY Name_caf ASC

Rezultati i kësaj kërkese:

Kod_kaf Emri_kaf Nomjelef Nom_Auditoria Col_sotr Zav kaf

004 Grafikët 23-E9-77 385 18 FirsovS.S.

003 Tregime 23-78-72 465 16 Ross L.T.

002 Gjeneral ma- 23-65-43 003 22 Makhov K.L.

temave

005 Aplikuar 23-66-62 028 24 Lyakhova I.T.

matematikë

001 Fizikantë 23-34-24 132 25 Ivanov T.M.

Shpesh është e dobishme të renditni informacionin e shfaqur në disa kolona për të përmirësuar dukshmërinë. Për ta bërë këtë, emrat e kolonave të renditjes duhet të renditen të ndarë me presje në rend pas klauzole. Në këtë rast, tabela e daljes do të përmbajë rreshta të renditur nga kolona e parë e specifikuar në renditje sipas klauzolës, dhe rreshtat që kanë vlera të barabarta në këtë kolonë do të renditen sipas vlerave të kolonës së dytë, e kështu me radhë nga majtas në të djathtë.

Artikujt kryesorë të lidhur