Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
SQL je sruktuirani upitni jezik koji omogućava korisnicima pristup podacima u sistemima za upravljanje relacionim bazama podataka, kao što su MySQL, Oracle, Microsoft SQL server i drugi, tako što dopušta korisnicima da opišu podatke koje žele da dobiju
Takođe im omogućava da definišu podatke u nekoj bazi podataka i da manipulišu tim podacima
2
SQL možemo podeliti na dva dela› The Data Manipulation Language (DML) › The Data Definition Language (DDL)
Upiti i komande za ažuriranje u okviru DML-a› SELECT – prikaz podataka iz baze› UPDATE – izmene podataka u bazi› DELETE – brisanje podataka iz baze› INSERT INTO – ubacivanje novih podataka u bazu
3
DDL deo SQL-a omogućava kreiranje i brisanje tabela baze
Takođe definiše indekse (ključeve), definiše veze između tabela, i ograničenja između tabela
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č za pretragu)› DROP INDEX – brisanje indeksa
4
5
Prikaz podataka iz baze
Rezultati se smeštaju u tabelu koju zovemo result-set› SELECT ime_kolone/a FROM ime_tabele › SELECT * FROM ime_tabele
SQL ne razlikuje mala i velika slova – dakle, SELECT je isto što i select
DISTINCT – ključna reč koja se koristi za prikaz različitih podataka › SELECT DISTINCT ime_kolone/a FROM ime_tabele
WHERE klauzula služi za prikaz samo onih slogova (zapisa) koji zadovoljavaju postavljeni uslov› SELECT ime_kolone/a FROM ime_tabeleWHERE ime_kolone operator vrednost
Operatori: = jednako, != različito, > veće od, < manje od, >= veće ili jednako, <= manje ili jednako, BETWEEN između datog opsega, LIKE pronalaženje sličnog ili istog, IN ako znate tačnu vrednost koju želite da prikažete za bar jednu od kolona, AND logički operator i, OR logički operator ili
Ovi operatori mogu da se primenjuju na numeričke, tekstualne i datumske tipove podataka
6
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će sortiranje, koristimo ključnu reč DESC
› SELECT ime_kolone/aFROM ime_tabeleORDER BY ime_kolone/a ASC|DESC
7
INSERT INTO se koristi za ubacivanje novog reda u tabelu Postoje dva načina za korišćenje ove naredbe
› Navode se samo vrednosti koje se ubacuju:› INSERT INTO ime_tabeleVALUES (vrednost1, vrednost2, vrednost3,…)
› Navode imena kolona u koja se ubacuju podaci, i vrednosti koje se ubacuju:
› INSERT INTO ime_tabele (kolona1, kolona2, kolona3,…)VALUES (vrednost1, vrednost2, vrednost3,…)
Ubacivanje podataka u tačno određene kolone (ne u sve)› Tada se u listi kolana navode samo željene kolone
8
Vrši izmenu postojećih redova u tabeli
› UPDATE ime_tabeleSET kolona1=vrednost1, kolona2=vrednost2,…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
9
Briše redove iz tabele› DELETE FROM ime_tabeleWHERE 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
10
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/aFROM ime_tabeleLIMIT number
11
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
12
Omogućava nam da postavimo više vrednosit u WHERE klauzuli
› SELECT ime_kolone/aFROM ime_tabeleWHERE ime_kolone IN (vrednost1,vrednost2,…)
13
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/aFROM ime_tabeleWHERE ime_koloneBETWEEN vrednost1 AND vrednost2
U MySQL-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
14
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
15
SQL skalarne funkcije vraćaju vrednost, na osnovu unite 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
16
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_tabeleWHERE ime_kolone operator vrednostGROUP BY ime_kolone
Ako vršimo grupisanje po više kolona, tada ih navodimo iza GROUP BY razdvojene zarezima
17
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_tabeleWHERE ime_kolone operator vrednostGROUP BY ime_koloneHAVING agregatna_funkcija(ime_kolone) operator vrednost
18