SQL – Manipulacija podacima

Do sada smo, u SQL prilozima, obradili kreiranje baza podataka i tabela, i naฤine selekcija podataka, a nismo se bavili unosom podataka u tabele i njihovom izmenom. Za manipulaciju podacima unutar tabela baze podatka, u SQL-u koriste se sledeฤ‡e tri instrukcije:

  • naredba INSERT
  • naredba UPDATE
  • naredba DELETE
Ako ste do sada koristili neki od Windows sistema, kao npr. MS Access ili MS FoxPro, videli ste da su operacije unosa, izmena i brisanja potpuno automatizovane, i da vam za ove operacije nije bilo potrebno znanje SQL jezika. Iza ovakvih sistema stoje upravo ove tri SQL naredbe koje smo naveli.

Sintaksa naredbe INSERT je sledeฤ‡a:


INSERT INTO naziv_tabele
(polje1, polje2, polje3…)
VALUES (vrednost1, vrednost2, vrednost3…);

Ovom naredbom dodajemo podatak – slog (record), i to u odgovarajuฤ‡a, prethodno navedena polja (polje1…). Pri koriลกฤ‡enju ove naredbe morate voditi raฤuna o tome da tip podataka koji se unosi u tabelu, mora da odgovara tipu podataka polja i da ne sme da preฤ‘e njegovu deklarisanu duลพinu. Redosled vrednosti koje se upisuju u jedan slog, mora da odgovara redosledu navedenih polja. U sledeฤ‡em primeru videฤ‡emo kako se u, veฤ‡ nama poznatu, tabelu „Radnik“ unosi jedan slog:


INSERT INTO Radnik
(Ime, Prezime, MBR, Sektor)
VALUES (Milan, Maric, 3260, Analiza);

Sledeฤ‡a instrukcija je – UPDATE, a ona nam sluลพi za promenu vrednosti postojeฤ‡ih podataka u tabeli. Sintaksa ove instrukcije je sledeฤ‡a:


UPDATE naziv_tabele
SET polje1 = vrednost1,
polje2 = vrednost2,

WHERE uslov;

U naredbi se prvo navodi tabela u kojoj ฤ‡e se menjati podaci, a zatim i lista polja za izmenu (sa odgovarajuฤ‡im novim vrednostima). Na kraju instrukcije moลพemo da definiลกemo uslov, tj. da uslovom odredimo kod kojih slogova ฤ‡e se izvrลกiti izmena. Na primer, imamo tabelu „Radnik“ i jedno od polja oznaฤava sektor u kome radnici rade. Sledeฤ‡om instrukcijom izmeniฤ‡emo svim radnicima koji su radili u sektoru „Analiza“, vrednost ovog polja u „Plan i analiza“. Naredba ฤ‡e biti:


UPDATE Radnik
SET Sektor = ‘Plan i analiza’
WHERE Sektor = ‘Analiza’;

Ukoliko ne navedemo ni jedan uslov, promena ฤ‡e se primeniti na sve slogove tabele.

I na kraju, imamo naredbu DELETE, kojom briลกemo podatke iz tabela. Sintaksa ove instrukcije je sledeฤ‡a:


DELETE FROM naziv_tabele
WHERE uslov;

Sa ovom naredbom treba paziti, jer u trenutku moลพete izgubiti dosta podataka. Na svu sreฤ‡u mnogi sistemi za upravljanje bazama podataka podrลพavaju tzv. transakcije, kojima izmeฤ‘u ostalog moลพemo i oporaviti obrisane podatke. U zavisnosti od deklarisanog uslova, naredbom DELETE moลพemo brisati: samo jedan slog, viลกe slogova odjednom i sve slogove odjednom. U sledeฤ‡em primeru, obrisaฤ‡emo slog koji smo dodali pri objaลกnjavanju naredbe Insert (podaci o radniku Mariฤ‡u):


DELETE FROM Radnik
WHERE MBR = 3260;

Pratite Krstaricu na www.krstarica.com