Struktuirani upitni jezik (SQL) je skup naredbi koje se koriste za rad sa relacionom bazom podataka. U stvari SQL je jedini jezik koga razume većina baza podataka. Kad god radite sa nekom bazom podataka, softver prevodi vaše naredbe (bez obzira na to da li ste kliknuli na dugme miša ili ste popunjavali obrazac) u naredbu u SQL-u koju baza podataka zna kako da protumači. SQL ima tri glavne komponente: jezik za manipulisanje podacima (DML), jezik za definisanje podataka (DDL) i jezik za kontrolu pristupa podacima (DCL).
Uobičajene upotrebe SQL-a na mreži
Kao korisnik bilo kog softverskog programa koga pokreću podaci, verovatno koristite SQL iako toga niste ni svesni. Na primer, dinamična veb-stranica koju pokreću baze podataka (kao i većinu veb-sajtova) preuzima unos korisnika kroz unose i klikove i koristi ih da bi stvorila SQL upit koji prikuplja informacije iz baze podataka potrebne da bi se stvorila sledeća veb-stranica.
Uzmimo primer jednostavnog kataloga na mreži koji ima i funkciju pretraživanja. Stranica za pretragu može da se sastoji od jednostavnog obrasca koji sadrži samo okvir za tekst u koji unosite pojam pretraživanja i, zatim, kliknete na dugme za pretraživanje. Kad kliknete na dugme, veb-server prikuplja sve zapise iz baze podataka proizvoda koji sadrže pojam pretraživanja i koristi dobijene rezultate da bi stvorio veb-stranicu koja je specifična za vaš zahtev.
Na primer, ako ste pretraživali proizvode koji sadrže pojam „Irish“, server bi mogao da iskoristi sledeći SQL izjavu da bi pretražio povezane proizvode:
SELECT *
FROM products
WHERE name LIKE ‘%irish%’
Drugim rečima, ova naredba pretražuje sve zapise iz tabele baze podataka koja se zove „proizvod“ i sadrži slova „irish“ bilo gde u nazivu proizvoda.
Jezik za manipulisanje podacima (DML)
Jezik za manipulisanje podacima (DML) sadrži podskup SQL naredbi koje se najčešće koriste – i to one koje jednostavno manipulišu sadržajem baze podataka u nekom obliku. Četiri najčešće korišćene naredbe ovog jezika su: SELECT, koja izvlači informacije iz baze podataka; INSERT, koja dodaje nove informacije bazi podataka; UPDATE, koja modifikuje informacije trenutno uskladištene u bazi podataka i DELETE, koja uklanja informacije iz baze podataka.
Jezik za definisanje podataka (DDL)
Jezik za definisanje podataka (DDL) sadrži naredbe koje se ređe koriste. Naredbe u ovom jeziku modifikuju trenutnu strukturu postojeću baze podataka, a ne njen sadržaj. Primeri uobičajeno korišćenih naredbi ovog jezika obuhvataju one koje se upotrebljavaju da bi se napravila nova tabela baze podataka (CREATE TABLE), menjaju definiciju tabele baze podataka (ALTER TABLE) i brišu tabelu baze podataka (DROP TABLE).
Jezik za kontrolu pristupa podacima (DCL)
Jezik za kontrolu pristupa podacima (DCL) koristi se da bi se upravljalo pristupu bazi podataka. Sastoji se od dve naredbe: naredba GRANT se koristi da bi se korisniku dodelio pristup bazi podataka i naredba REVOKE, koja se koristi da bi se oduzela postojeća dozvola pristupa. Ove dve naredbe predstavljaju srž modela obezbeđenja relacionih baza podataka.
Struktura naredbe u SQL-u
Srećom, posebno za nas koji nismo programeri, naredbe u SQL-u su napravljene tako da imaju sintaksu koja je veoma slična engleskom, odnosno, prirodnom jeziku. One uglavnom počinju imperativom koji nam objašnjava šta treba da uradimo. Posle njega sledi rečenica koja opisuje cilj prethodne naredbe (recimo, određenu tabelu u bazi podataka na koju se odnosi naredba) i, konačno, niz naredbi koje nam obezbeđuju dodatna uputstva.
Veoma često, kad jednostavno naglas pročitamo izjavu u SQL-u, sasvim nam je jasno šta naredba od nas traži da uradimo. Pročitajte sledeći primer izjave u SQL-u:
DELETE
FROM students
WHERE graduation_year = 2014
Možete li da pogodite šta će ova izjava uraditi? Pristupiće tabeli studenata u bazi podataka i izbrisaće sve zapise za studente koji su diplomirali 2014. godine.
Učenje programiranja u SQL-u
U ovom članku smo prikazali samo nekoliko jednostavnih primera u SQL-u, ali SQL je mnogo obimniji i moćniji jezik.{/xa{}