Baze podataka SQL 1 SQL Structured Query Language
Baze podataka SQL 1
SQL (Structured Query Language) SQL je sruktuirani upitni jezik koji omogućava pristup podacima u sistemima za upravljanje relacionim bazama podataka (My. SQL, Oracle, Microsoft SQL server i drugi) Korisnici mogu da: definišu šemu baze podataka, smeste podatke u tako definisanu bazu, manipulišu tim podacima (obrišu, izmene ili dodaju nove slogove), opisuju podatke kakve žele da dobiju iz baze. 2
SQL - DML i DDL SQL možemo podeliti na dva dela: › Data Definition Language (DDL) › Data Manipulation Language (DML) 3
SQL DDL deo SQL-a omogućava : › Kreiranje i izmene baze, › Kreiranje, izmene i brisanje tabela baze, › definisanje ključeva i indeksa, › definisanje veza između tabela i › definisanje ograničenja između tabela. 4
SQL DDL Najvažniji iskazi u DDL-u su: › CREATE DATABASE – kreiranje nove baze › ALTER DATABASE – izmena baze › CREATE TABLE – kreiranje tabele › ALTER TABLE – izmena tabele › DROP TABLE – brisanje tabele › CREATE INDEX – kreiranje indeksa (ključa za pretragu) › DROP INDEX – brisanje indeksa 5
SQL - DML Upiti i komande za ažuriranje u okviru DML-a su: › INSERT INTO – ubacivanje novih slogova u bazu › SELECT – prikaz izabranih podataka iz baze › UPDATE – izmene podataka u bazi › DELETE – brisanje podataka iz baze 6
iskaz SELECT Prikaz podataka iz baze SELECT * FROM ime_tabele SELECT ime_kolona FROM ime_tabele ili Rezultati se smeštaju u tabelu koju zovemo result-set SQL ne razlikuje mala i velika slova (SELECT je isto što i select) DISTINCT – ključna reč koja se koristi za prikaz različitih podataka › SELECT DISTINCT ime_kolona FROM ime_tabele 7
klauzula WHERE klauzula služi za izdvajanje onih slogova (zapisa) koji zadovoljavaju postavljeni uslov SELECT ime_kolone/a FROM ime_tabele WHERE ime_kolone operator vrednost Sledeći operatori mogu da se primenjuju na numeričke, tekstualne i datumske tipove podataka: 8
klauzula WHERE Operatori: = jednako, != različito, > veće od, < manje od, >= veće ili jednako, <= manje ili jednako, BETWEEN - u zadatom opsegu, LIKE - pronalaženje sličnog ili istog, IN - za izabrani skup konkretnih vrednosti, AND - logički operator i, OR - logički operator ili 9
klauzula ORDER BY Ključna reč koja se koristi za sortiranje rezultata upita po nekoj koloni Po default-u, rezultati se sortiraju po rastućem redosledu Ako želimo opadajući redosled sortiranja, koristimo ključnu reč DESC › SELECT ime_kolone/a FROM ime_tabele ORDER BY ime_kolone/a ASC|DESC 10
INSERT INTO Koristi se za ubacivanje novog reda u tabelu Dva načina za korišćenje ove naredbe 1. Navode se samo vrednosti koje se ubacuju: INSERT INTO ime_tabele VALUES (vrednost 1, vrednost 2, vrednost 3, …) 2. Navode se imena kolona u koja se ubacuju podaci i vrednosti koje se ubacuju: INSERT INTO ime_tabele (kolona 1, kolona 2, kolona 3, …) VALUES (vrednost 1, vrednost 2, vrednost 3, …) Ubacivanje podataka u tačno određene kolone (ne u sve) › Tada se u listi kolona navode samo željene kolone 11
UPDATE Vrši izmenu postojećih redova u tabeli UPDATE ime_tabele SET kolona 1=vrednost 1, kolona 2=vrednost 2, … WHERE neka_kolona=neka_vrednost WHERE klauzulu koristimo da bismo odredili koje tačno redove menjamo Ako izostavimo ovaj uslov, izmena će se izvršiti za sve redove tabele 12
DELETE Briše redove iz tabele DELETE FROM ime_tabele WHERE neka_kolona=neka_vrednost WHERE klauzulu koristimo da bismo odredili koje tačno redove brišemo Ako izostavimo ovaj uslov, svi redovi tabele će biti obrisani Ako želimo da obrišemo sve redove tabele, koristimo DELETE FROM ime_tabele ili DELETE * FROM ime_tabele 13
LIMIT Koristi se za određivanje broja redova koje vraća postavljeni upit Korisna je kod tabela koje imaju veliki broj redova (jer one mogu usporiti rad) SELECT ime_kolone/a FROM ime_tabele LIMIT number 14
LIKE operator Služi za pretraživanje i pronalaženje određenih kolona u tabeli Znak % služi za zamenu jednog ili više karaktera kada se pretražuje baza 15
IN operator Omogućava zadavanje skupa vrednosti u WHERE klauzuli SELECT ime_kolone/a FROM ime_tabele WHERE ime_kolone IN (vrednost 1, vrednost 2, …) 16
BETWEEN operator Koristi se u WHERE klauzuli za označavanje skupa podataka između dve zadate vrednosti Te vrednosti mogu biti brojevi, tekst ili datumi SELECT ime_kolone/a FROM ime_tabele WHERE ime_kolone BETWEEN vrednost 1 AND vrednost 2 U My. SQL-u BETWEEN operator u skup traženih podataka ubraja i granične vrednosti Može se koristiti i NOT BETWEEN za skup podataka van intervala obuhvaćenog graničnim vrednostima ove naredbe 17
SQL FUNKCIJE SQL agregatne funkicje vraćaju vrednost , izračunatu iz vrednosti u koloni: › AVG() – prosečna vrednost › COUNT() – broj redova › FIRST() – prva vrednost › LAST() – poslednja vrednost › MAX() – najveća vrednost › MIN() – najmanja vrednost › SUM() – zbir vrednosti 18
SQL FUNKCIJE SQL skalarne funkcije vraćaju vrednost, na osnovu unete vrednosti: › UCASE() – konvertuje u velika slova › LCASE() – konvertuje u mala slova › MID() – izdvaja karaktere iz tekstualnog polja › LEN() – vraća dužinu tekstualnog polja › ROUND() – zaokružuje numerička polja na određeni broj decimala › NOW() – vraća tekući sistemski datum i vreme › FORMAT() – formatiranje prikaza polja 19
klauzula GROUP BY Koristi se u kombinaciji sa agregatnim funkcijama da bi se rezultati grupisali po jednoj ili više kolona SELECT ime_kolone, agregatna_funkcija(ime_kolone) FROM ime_tabele WHERE ime_kolone operator vrednost GROUP BY ime_kolone Ako vršimo grupisanje po više kolona, tada ih navodimo iza GROUP BY razdvojene zarezima 20
klauzula HAVING Ova klauzula je dodata u SQL jer WHERE ne može da se koristi sa agregatnim funkcijama SELECT ime_kolone, agregatna_funkcija(ime_kolone) FROM ime_tabele WHERE ime_kolone operator vrednost GROUP BY ime_kolone HAVING agregatna_funkcija(ime_kolone) operator vrednost 21
- Slides: 21