SQL

Úr Wikipediu, frjálsa alfræðiritinu
Stökkva á: flakk, leita

SQL (skammstöfun fyrir „Structured Query Language“) er mjög algengt fyrirspurnarmál sem notað er til að búa til, vinna með og sækja gögn úr gagnagrunnum. Málið er ANSI og ISO staðlað en framleiðendur gagnagrunnskerfa útfæra SQL oft á mismunandi hátt, stundum með því að útfæra ekki allt sem staðallinn skilgreinir, og stundum með því að bæta við eiginleikum sem ekki eru tilgreindir í staðlinum. Auk þess bjóða margir framleiðendur gagnagrunnskerfa sérstök stefjumál mál svo sem Transact-SQL fyrir Microsoft SQL Server, PL/SQL fyrir Oracle og PostgreSQL hefur mál, PL/pgSQL, keimlíkt þeirra. Líka hefur mál, SQL/PSM, verið staðlað. Þessi mál eru stundum notuð til að búa til föll og stefjur sem keyra í grunninum sjálfum.

Dæmi[breyta | breyta frumkóða]

SQL skipanir skilgreina ekki hvernig á að framkvænma ákveðnar aðgerðir, heldur hvað eigi að gera.

Dæmi um mjög einfalda SQL skipun er

SELECT nafn, heimili, postnumer 
FROM vidskiptamenn

Ofangreind skipun sækir gögn úr töflunni vidskiptamenn. Engar takmarkanir eru setta við því hvaða færslur eru sóttar, þannig að allar færslurnar sem eru í töflunni verða sóttar. Ekki er gerð nein krafa um í hvaða röð færslurnar eiga að koma þannig að þær geta komið í hvaða röð sem er, og röðin getur hæglega breyst frá fyrirspurn til fyrirspurnar.

Fyrirspurnin:

SELECT nafn, heimili, postnumer 
FROM vidskiptamenn
WHERE postnumer = '101'
order by heimili,nafn

myndi hins vegar alltaf skila færslum í röð eftir heimili og innan heimilisfangs í nafnaröð. Einnig takmarkar þessi fyrirspurn færslur við þá sem búa í póstnúmeri 101.

Til þess að útbúa töflur notum við CREATE skipunina:

CREATE TABLE vidskiptamenn
(vskm_numer varchar(10) CONSTRAINT pk_vskm PRIMARY KEY,
 nafn varchar(100) not null,
 heimili varchar(100), 
 postnumer char(3)
)

Lykilorð eins og CREATE geta verið hvort heldur sem er í há eða lágstöfum. Hér er búin tafla sem heitir vidskiptamenn og sett á hana þau skilyrði að dálkur sem kallast vskm_numer sé lykill að færslum í töflunni. Einnig er sett það skilyrði að nafn verður alltaf að vera tilgreint.

Gögn eru sett inn í töflur með INSERT skipunum. Dæmi.

INSERT INTO vidskiptamenn (vskm_numer, nafn, heimili, postnumer)
VALUES ('VSK001','Nýja Búðin','Austurstræti 1','101')

Tengill[breyta | breyta frumkóða]