SQL
Š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
redaguotiSQL remiasi keletu raktažodžių, kuriuos naudojant galima įvykdyti funkcijas. Juos galima suskirstyti į keletą grupių.
Duomenų išrinkimas
redaguotiANSI 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 skirtingaisJOIN
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 yraGROUP BY
sakinys.
Iš išvardytų sakinių bet kurioje užklausoje visada naudojami SELECT
bei FROM
sakiniai, o kiti naudojami pagal poreikį.
Duomenų valdymas
redaguotiINSERT
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
redaguotiSistemose, kurios palaiko transakcijas, galima naudoti šias komandas:
BEGIN
nurodoma pradėti atominę operaciją (transakciją)COMMIT
patvirtinama sėkmingai baigiama transakcijaROLLBACK
nurodoma, kad visa transakcija atšaukiama
Duomenų apibrėžimas
redaguotiCREATE
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- 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
redaguotiTarkime, 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