3. MySQL Upiti - WordPress.com

Download Report

Transcript 3. MySQL Upiti - WordPress.com

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

MySQL iskaz za čitanje podataka iz baze je
SELECT. Postoje mnogo opcija i načina upotrebe
iskaza SELECT i to:
SELECT podaci
FROM tabele
[WHERE uslov]
[GROUP BY grupisanje]
[HAVING uslov_grupe]
[ORDER BY redosled]
[LIMIT kriterijum_ogranicenja]
Kreiraćemo upit (Query) koji prikazuje sve
podatke iz tabele Proizvodi.
Kreirajte upit (Query) koji prikazuje ime,
prezime i datum rođenja svih radnika iz
tabele Radnici.
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
<=
!= ili <>
manje ili jednako KorisnikID <= 3
nije jednako
is not null
is null
between
in
not in
Proverava da li je prva vrednost veća ili jednaka od
druge
Proverava da li je prva vrednost manja ili jednaka od
druge
KorisnikID <> 3
Proverava da li su prva i druga vrednost različite
KorisnikID is not null
Proverava se da li postoji vrednost
KorisnikID is null
Proverava se da li je vrednost nedefinisana
KorisnikID between 0 and 3
Proverava da li je vrednost u zadatom opsegu
Grad in ("Nis", "Bor")
Proverava da li se vrednost nalazi u skupu
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 sve
podatke o radnicima čije ime počinje na sovo
„A“.
Kreirati upit (Query) koji prikazuje sve
podatke o radnicima čije ime ne počinje na
sovo „A“.
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”
Kreirati upit (Query) koji prikazuje podatke o
kupcima čiji naziv počinje slovom “A”, a iz
BiH su.
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, Adresa
FROM Korisnici
ORDER BY Ime, Grad
Kreirati upit (Query) koji prikazuje najmlađeg
radnika
Kreirati upit (Query) koji prikazuje broj
radnika koji su iz Bihaća.
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
AVG (kolona)
COUNT (stavke)
Opis
Prosečna vrednost u navedenoj koloni
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
SELECT AVG (Količina) FROM
Narudzbine
Kreirati upit (Query) koji prikazuje nazive
kategorija i ukupnu sumu njihovih proizvoda,
grupisane po nazivu kategorije
Kreirati upit (Query) koji prikazuje ukupan
broj proizvoda.