210 likes | 431 Views
SQL. Baze podataka. SQL ( Structured Query Language). SQL je sruktuirani upitni jezik koji omogućava pristup podacima u sistemima za upravljanje relacionim bazama podataka ( MySQL , Oracle, Microsoft SQL server i drugi ) Korisnici mogu da : d efinišu šemu baz e podataka ,
E N D
SQL Baze podataka
SQL (Structured Query Language) • SQL je sruktuiraniupitnijezikkojiomogućavapristuppodacima u sistemimazaupravljanjerelacionimbazamapodataka (MySQL, Oracle, Microsoft SQL server idrugi) Korisnicimoguda: • definišušemu bazepodataka, • smeste podatke u tako definisanu bazu, • manipulišutimpodacima (obrišu, izmene ili dodaju nove slogove), • opisujupodatke kakveželedadobijuizbaze.
SQL - DML i DDL SQLmožemopodelitinadvadela: • Data Definition Language (DDL) • Data Manipulation Language (DML)
SQL - DDL • DDL deo SQL-a omogućava : • Kreiranje i izmenebaze, • Kreiranje, izmeneibrisanjetabelabaze, • definisanje ključeva i indeksa, • definisanje vezaizmeđutabelai • definisanje ograničenjaizmeđutabela.
SQL - DDL • Najvažnijiiskazi u DDL-u su: • CREATE DATABASE – kreiranjenovebaze • ALTER DATABASE – izmenabaze • CREATE TABLE – kreiranjetabele • ALTER TABLE – izmenatabele • DROP TABLE – brisanjetabele • CREATE INDEX – kreiranjeindeksa (ključazapretragu) • DROP INDEX – brisanjeindeksa
SQL - DML • Upitiikomandezaažuriranje u okviru DML-asu: • INSERT INTO – ubacivanjenovihslogova u bazu • SELECT – prikaz izabranihpodatakaizbaze • UPDATE – izmenepodataka u bazi • DELETE – brisanjepodatakaizbaze
iskaz SELECT • Prikazpodatakaizbaze SELECT * FROM ime_tabele ili SELECT ime_kolona FROM ime_tabele • Rezultati se smeštaju u tabelukojuzovemoresult-set • SQL ne razlikuje mala ivelikaslova (SELECT je istoštoi select) • DISTINCT – ključnarečkoja se koristizaprikazrazličitihpodataka • SELECT DISTINCT ime_kolona FROM ime_tabele
klauzula WHERE • WHERE klauzulaslužizaizdvajanjeonihslogova (zapisa) kojizadovoljavajupostavljeniuslov SELECT ime_kolone/a FROM ime_tabeleWHERE ime_kolone operator vrednost Sledeći operatorimoguda se primenjujunanumeričke, tekstualneidatumsketipovepodataka:
klauzula WHERE • Operatori: =jednako, !=različito, >većeod, <manjeod, >=većeilijednako, <=manjeilijednako, BETWEEN - u zadatomopsegu, LIKE - pronalaženjesličnogiliistog, IN - zaizabraniskupkonkretnihvrednosti, AND - logičkioperator i, OR - logički operator ili
klauzulaORDER BY • Ključnarečkoja se koristizasortiranjerezultataupitaponekojkoloni • Po default-u, rezultati se sortirajuporastućemredosledu • Akoželimoopadajućiredosledsortiranja, koristimoključnureč DESC • SELECT ime_kolone/aFROM ime_tabeleORDER BY ime_kolone/a ASC|DESC
INSERT INTO • Koristi se zaubacivanjenovogreda u tabelu • Dvanačinazakorišćenjeovenaredbe • Navode se samovrednostikoje se ubacuju: INSERT INTO ime_tabeleVALUES (vrednost1, vrednost2, vrednost3,…) • Navode se imenakolona u koja se ubacujupodaciivrednostikoje se ubacuju: INSERT INTO ime_tabele (kolona1, kolona2, kolona3,…)VALUES (vrednost1, vrednost2, vrednost3,…) • Ubacivanjepodataka u tačnoodređenekolone (ne u sve) • Tada se u listikolonanavodesamoželjenekolone
UPDATE • Vršiizmenupostojećihredova u tabeli UPDATE ime_tabeleSET kolona1=vrednost1, kolona2=vrednost2,…WHERE neka_kolona=neka_vrednost • WHERE klauzulukoristimodabismoodredilikojetačnoredovemenjamo • Akoizostavimoovajuslov, izmenaće se izvršitizasveredovetabele
DELETE • Brišeredoveiztabele DELETE FROM ime_tabeleWHERE neka_kolona=neka_vrednost • WHERE klauzulukoristimodabismoodredilikojetačnoredovebrišemo • Akoizostavimoovajuslov, sviredovitabelećebitiobrisani • Akoželimodaobrišemosveredovetabele, koristimo DELETE FROM ime_tabele ili DELETE * FROM ime_tabele
LIMIT • Koristi se zaodređivanjebrojaredovakojevraćapostavljeniupit • Korisna je kodtabelakojeimajuvelikibrojredova (jer one moguusporitirad) SELECT ime_kolone/aFROM ime_tabeleLIMIT number
LIKE operator • Služizapretraživanjeipronalaženjeodređenihkolona u tabeli • Znak%služizazamenujednogilivišekarakterakada se pretražujebaza
IN operator • Omogućavazadavanjeskupavrednosti u WHERE klauzuli SELECT ime_kolone/aFROM ime_tabeleWHERE ime_kolone IN (vrednost1,vrednost2,…)
BETWEEN operator • Koristi se u WHERE klauzulizaoznačavanjeskupapodatakaizmeđudvezadatevrednosti • Te vrednostimogubitibrojevi, tekstilidatumi SELECT ime_kolone/aFROM ime_tabeleWHERE ime_koloneBETWEEN vrednost1 AND vrednost2 • U MySQL-u BETWEEN operator u skuptraženihpodatakaubrajaigraničnevrednosti • Može se koristitii NOT BETWEEN zaskuppodataka van intervalaobuhvaćenoggraničnimvrednostimaovenaredbe
SQL FUNKCIJE • SQL agregatnefunkicjevraćajuvrednost , izračunatuizvrednosti u koloni: • AVG() – prosečnavrednost • COUNT() – brojredova • FIRST() – prvavrednost • LAST() – poslednjavrednost • MAX() – najvećavrednost • MIN() – najmanjavrednost • SUM() – zbirvrednosti
SQL FUNKCIJE • SQL skalarnefunkcijevraćajuvrednost, naosnovuunetevrednosti: • UCASE() – konvertuje u velikaslova • LCASE() – konvertuje u mala slova • MID() – izdvajakaraktereiztekstualnogpolja • LEN() – vraćadužinutekstualnogpolja • ROUND() – zaokružujenumeričkapoljanaodređenibrojdecimala • NOW() – vraćatekućisistemski datum ivreme • FORMAT() – formatiranjeprikazapolja
klauzulaGROUP BY • Koristi se u kombinacijisaagregatnimfunkcijamada bi se rezultatigrupisalipojednojilivišekolona SELECT ime_kolone, agregatna_funkcija(ime_kolone)FROM ime_tabeleWHERE ime_kolone operator vrednostGROUP BY ime_kolone • Akovršimogrupisanjepovišekolona, tadaihnavodimoiza GROUP BY razdvojenezarezima
klauzulaHAVING • Ova klauzula je dodata u SQL jer WHERE ne možeda se koristisaagregatnimfunkcijama SELECT ime_kolone,agregatna_funkcija(ime_kolone)FROM ime_tabeleWHERE ime_kolone operator vrednostGROUP BY ime_koloneHAVING agregatna_funkcija(ime_kolone) operator vrednost