SQL (Structured Query Language) je programski jezik namenjen za upravljanje podacima u relacionim sistemima za upravljanje bazama podataka.Obuhvata unos podataka, upite, ažuriranje i brisanje, šeme kreiranja i menjanja, kao i podatke za kontrolu pristupa.
SQL je najviše korišćen programski jezik za baze podataka. SQL je postao standard Američkog nacionalnog instituta za standarde (ANSI) u 1986. god., kao i Međunarodne organizacije za standarde (ISO) u 1987. god. Od tada standard je poboljšan nekoliko puta sa dodatim funkcijama.

Istorija

SQL je razvijen u IBM od strane Donald G. Čemberlena i Rejmond F. Bojsa u ranim 1970-im. Ova verzija, prvobitno nazvana SEQUEL (Structured English Query Language), je dizajniran da manipuliše i preuzima podatke koji su se skladištili u IBM kvazi-relacionim sistemom za upravljanje bazama podataka,System R. U junu 1979. god. Relational Software (sada Oracle Corporation) predstavio je prvu komercijlno dostupnu verziju SQL, Oracle V2.

Osnove

SQL jezik je podeljena na nekoliko jezičkih elemenata:



Upiti (Queries)

Najčešća operacija u SQL je upit, koje se vrši sa naredbom SELECT. SELECT preuzima podatke iz jedne ili više tabela, ili izraza. Standardna naredba SELECT nema uticaj na bazu podataka. Neke nestandardne implementacije naredbe SELECT mogu imati direktni uticaj, kao što je SELECT INTO sintaksa koja postoji u nekim bazama podataka.

Upiti omogućavaju korisniku da se opiše željene podatke, ostavljajući sistemima za upravljanje bazama podataka(DBMS), odgovornost za planiranje, optimizaciju, kao i obavljanje operacija potrebnih da se prikažu rezultati koji su zahtevani.

Upit sadrži spisak kolona koje će biti uključene u konačni rezultat odmah nakon SELECT ključne reči. Zvezdica ("*") se takođe može koristiti da biste naveli da bi trebalo da upit vrati sve kolone ispitane tabele . SELECT je najsloženija izjava u SQL, sa opcionim ključnih reči i klauzulama koje obuhvataju:


Primer upita koji vraća listu odličnih učenika( onih koji imaju prosek 4,50 ili veći).Lista će biti sortiranu po prezimenu učenika. Zvezdica ("*") označava da će biti prkazane sve kolone iz tabele Ucenici.

 SELECT *
     FROM Ucenici
     WHERE ProsecnaOcena>=4.50
     ORDER BY Ucenici.Prezime;


Manipulacija podacima

Data Manipulation Language (DML) je podskup SQL-a,koji se koristi za dodavanje, menjanje i brisanje podataka:

INSERT INTO Ucenici
        (Ime, Prezime, ProsecnaOcena)
    VALUES
        ('Petar', 'Petrović', 4.85);


UPDATE Ucenici
    SET ProsecnaOcena= 4.90
    WHERE Prezime= 'Petrović';


DELETE FROM Ucenici
    WHERE Ime= 'Petar';


Reference