upiti mysql

26
Upiti MySQL Admir Džaferović

Upload: tal

Post on 14-Jan-2016

60 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Upiti MySQLAdmir 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 podaciFROM 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 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 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, AdresaFROM 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 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

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.

Kraj