upiti mysql
DESCRIPTION
Upiti MySQL. Admir Džaferović. Kreiranje BP. Kreiranje baze je veoma jednostavno (kao i njeno brisanje). Baza se kreira uz pomoć ključne riječi CREATE: create database employee ;. Kreiranje tabela. Uzimanje podataka iz baze. - PowerPoint PPT PresentationTRANSCRIPT
Kreiranje BP
Kreiranje baze je veoma jednostavno (kao i njeno brisanje). Baza se kreira uz pomoć ključne riječi CREATE:
create database employee;
Uzimanje podataka iz baze
MySQL iskaz za čitanje podataka iz baze je SELECT. Postoje mnogo opcija i načina upotrebe iskaza SELECT i to:
SELECT podaciFROM tabele[WHERE uslov][GROUP BY grupisanje][HAVING uslov_grupe][ORDER BY redosled][LIMIT kriterijum_ogranicenja]
SELECT sa WHERE uslovom
Kada nam nisu potrebni podaci iz svih redova već samo iz nekih onda koristimo WHERE uslov kao dodatak SELECT iskazu. Na primjer evo kako bi izgledao upit da tražimo podatke iz tabele Korisnici samo iz jednog reda a iz svih kolona:
select * from Korisnici where KorisnikID = 3
Operatori poređenja
Pored znaka jednakosti u WHERE uslovu mogu da se nađu svi operatori poređenja i regularnih izraza. One koji se najčešće koriste dat ćemo tabelarno. Napomenimo da nije ovo kompletan spisak ali sadrži najupotrebljavanije operatore.
Operator Naziv ako postoji Primjer Opis
= Jednako KorisnikID = 3 Proverava da li su dve vrednosti jednake
> veće KorisnikID > 3 Proverava da li je prva vrednost veća od druge
< manje KorisnikID < 3 Proverava da li je prva vrednost manja od druge
>= veće ili jednako KorisnikID >= 3 Proverava da li je prva vrednost veća ili jednaka od druge
<= manje ili jednako KorisnikID <= 3 Proverava da li je prva vrednost manja ili jednaka od druge
!= ili <> nije jednako KorisnikID <> 3 Proverava da li su prva i druga vrednost različite
is not null KorisnikID is not null Proverava se da li postoji vrednost
is null KorisnikID is null Proverava se da li je vrednost nedefinisana
between KorisnikID between 0 and 3 Proverava da li je vrednost u zadatom opsegu
in Grad in ("Nis", "Bor") Proverava da li se vrednost nalazi u skupu
not in Grad not in ("Nis", "Bor") Proverava da li se vrednost ne nalazi u skupu
like podudarni oblici Ime like ("Marko %") Proverava da li je vrednost podudarna uzorku
not like podudarni oblici Ime not like ("Marko %") Proverava da li vrednost nije podudarna uzorku
regexp regularni izrazi Ime regexp Provjerava da li je vrijednost podudarna sa regularnim izrazom
Kreirati upit (Query) koji prikazuje ime, prezime, datum rođenja i grad svih radnika čije prezime nesadrži slovo “G”.
Kreirati upit (Query) koji prikazuje sve podatke o radnicima čije ime počinje na slovo “A”, datum rođenja između '1984-01-20' I '1984-01-24'godine i čije je zvanje “Dipl. ing Informatike”
SELECT sa ORDER BY redosled varijantom
Da bi ste redove dobivene upitom prikazali sortirane po abecednom ili brojčanom redoslijedu upotrebi te iskaz ORDER BY. Naravno ORDER BY možemo kombinirati i sa WHERE uslovom. Evo na primjer upita koji iščitava sva imena i njihove adrese po abecednom redoslijedu imena od A do Z a u slučaju dva ista imena i prezimena sortira po abecednom redoslijedu od A do Z u zavisnosti od gradova:
SELECT Ime, AdresaFROM Korisnici
ORDER BY Ime, Grad
SELECT sa GROUP BY grupiranje
Često je potrebno znati na primjer koja je prosječnu cijena porudžbine. Za takav tip upita u MySQL postoje nekoliko korisnih grupnih funkcija. Te funkcije možete primjeniti na čitavu tabelu ili samo na grupe podataka u tabeli. Evo tabelarno tih funkcija:
Naziv Opis
AVG (kolona) Prosečna vrednost u navedenoj koloni
COUNT (stavke) Preciziranjem kolonu daje broj vrednosti u njoj. Ako ispred imena kolone stoji DISTINCT dobija se broj jedinstvenih vrednosti u njoj
MIN (kolona) Minimalna vrednost koja figuriše u koloni
MAX (kolona) Maksimalna vrednost koja figuriše u koloni
STD (kolona) Standardna devijacija vrednosti u navedenoj koloni
STDDEV (kolona) Standardna devijacija vrednosti u navedenoj koloni
SUM (kolona) Zbir svih vrednosti u navedenoj koloni
Kreirati upit (Query) koji prikazuje nazive kategorija i ukupnu sumu njihovih proizvoda, grupisane po nazivu kategorije