SQL

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
   Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.

SQL (angl. Structured Query Language „struktūrizuota užklausų kalba“) – populiariausia iš šiuo metu naudojamų kalbų, skirtų aprašyti duomenis ir manipuliuoti jais reliacinių duomenų bazių valdymo sistemose. Sukurta XX amžiaus 8-ame dešimtmetyje. Pirmoji šią kalbą komerciniame produkte pritaikė korporacija, dabar žinoma Oracle vardu. Ja pasekė ir daug kitų.

SQL raktažodžiai[redaguoti | redaguoti vikitekstą]

SQL remiasi keletu raktažodžių, kuriuos naudojant galima įvykdyti funkcijas. Juos galima suskirstyti į keletą grupių.

Duomenų išrinkimas[redaguoti | redaguoti vikitekstą]

ANSI bei ISO standartai apibrėžia šiuos SQL raktažodžius, skirtus duomenims išrinkti:

  • SELECT sakinys naudojamas įrašams iš vienos ar daugiau lentelių atrinkti; šie įrašai dažniausiai atrenkami pagal tam tikrus kriterijus.
  • FROM sakinyje nurodomos lentelės, iš kurių reikia išrinkti eilutes (sąryšiai gali būti nurodomi skirtingais JOIN variantais).
  • WHERE sakinyje nurodoma sąlyga, kurią turi tenkinti grąžinamos eilutės.
  • GROUP BY sąlygoje nurodoma, kad reikia grupuoti tam tikras eilutes. Grupuojant eilutes, dažniausiai naudojamos agregatinės funkcijos maksimalioms, vidutinėms ir panašioms reikšmėms išrinkti iš grupuotų eilučių.
  • ORDER BY sakiniu nurodoma viena ar daugiau rikiavimo sąlygų.
  • HAVING sakinyje nurodomas kriterijus, taikomas grupuojamoms eilutėms; šis raktinis žodis gali būti naudojamas tik tais atvejais, jeigu užklausoje yra GROUP BY sakinys.

Iš išvardytų sakinių bet kurioje užklausoje visada naudojami SELECT bei FROM sakiniai, o kiti naudojami pagal poreikį.

Duomenų valdymas[redaguoti | redaguoti vikitekstą]

  • INSERT vartojamas naujų įrašų įterpimui į lentelę
  • DELETE leidžia ištrinti įrašus iš lentelės.
  • UPDATE naudojamas pakeisti vieno ar daugiau įrašų reikšmes.

Transakcijos[redaguoti | redaguoti vikitekstą]

Sistemose, kurios palaiko transakcijas, galima naudoti šias komandas:

  • BEGIN nurodoma pradėti atominę operaciją (transakciją)
  • COMMIT patvirtinama sėkmingai baigiama transakcija
  • ROLLBACK nurodoma, kad visa transakcija atšaukiama

Duomenų apibrėžimas[redaguoti | redaguoti vikitekstą]

  • CREATE naudojama sukurti įvairiems objektams, pavyzdžiui, lentelėms.
  • DROP nurodoma sunaikinti tam tikrus objektus.

Kai kuriuos sistemos turi komandą ALTER, kuria galima pakeisti objektus sistemos darbo metu.

Trūkumai[redaguoti | redaguoti vikitekstą]

  • Nėra standartinio būdo skaidyti sudėtingas komandas į kelias smulkesnes
  • SQL realizacijos skirtingose duomenų bazių valdymo sistemose nėra nuoseklios, nepilnai suderinamos.

Kadangi standartinių galimybių dažnai neužtenka, duomenų bazių sistemose SQL išplečiama jai pridedant daugiau programavimo kalbų funkcijų

„Sveikas, pasauli“ pavyzdys[redaguoti | redaguoti vikitekstą]

Tarkime, yra lentelės pavidalo duomenų bazė:

Įvairios_vietos
Vieta Būsena
Australija A
Antarktida B
Europa C
Pasaulis Sveikas
Mėnulis Pilnatis

SQL sakinys:

SELECT Būsena + ', pasauli'
FROM Įvairios_vietos
WHERE Vieta = 'Pasaulis';

Oracle Database dialektu:

SELECT Būsena || ', pasauli'
FROM Įvairios_vietos
WHERE Vieta = 'Pasaulis'

Turėtų grąžinti atsakymą:

Sveikas, pasauli