sql sintaksa
DESCRIPTION
fffTRANSCRIPT
-
1
-
SQL je sruktuirani upitni jezik koji omoguavapristup podacima u sistemima za upravljanjerelacionim bazama podataka (MySQL, Oracle, Microsoft SQL Server i drugi)
Korisnici mogu da:
definiu emu baze podataka,
smeste podatke u tako definisanu bazu,
manipuliu tim podacima (obriu, izmene ili dodaju nove slogove),
opisuju kakve podatke ele da dobiju iz baze.
2
-
SQL moemo podeliti na dva dela:
Data Definition Language (DDL)
Data Manipulation Language (DML)
Naredbe SQL-a se zavravaju simbolom taka-zarez (;)
SQL ne razlikuje mala i velika slova
(SELECT je isto to i select)
3
-
DDL deo SQL-a omoguava :
kreiranje i izmene baze,
kreiranje, izmene i brisanje tabela baze, kreiranje, izmene i brisanje tabela baze,
definisanje kljueva i indeksa,
definisanje veza izmeu tabela i
definisanje ogranienja izmeu tabela.
4
-
Najvaniji iskazi u DDL-u su:
CREATE DATABASE kreiranje nove baze
ALTER DATABASE izmena baze
CREATE TABLE kreiranje tabele CREATE TABLE kreiranje tabele
ALTER TABLE izmena tabele
DROP TABLE brisanje tabele
CREATE INDEX kreiranje indeksa (kljua za pretraivanje)
DROP INDEX brisanje indeksa
5
-
DML definie sledee naredbe za auriranje ipretraivanje baze podataka :
komande za auriranje:
INSERT INTO unos novih slogova u bazu
UPDATE izmene na podacima u bazi UPDATE izmene na podacima u bazi
DELETE brisanje slogova iz baze
komanda za pretraivanje (kreiranje upita):
SELECT prikaz izabranih podataka (slogova) izbaze
6
-
Koristi se za unos novog reda u tabelu, bilo da se unose vrednosti svih kolona (A) ili samo izabranih kolona (B).
A. Unos podataka u sve kolone (2 oblika iskaza INSERT):
1. Navode se samo vrednosti koje se unose:
INSERT INTO ime_tabele
VALUES (vrednost1, vrednost2, vrednost3,)VALUES (vrednost1, vrednost2, vrednost3,)
2. Navode se imena kolona u koja se unose podaci iodgovarajue vrednosti koje se unose:
INSERT INTO ime_tabele (kolona1, kolona2, kolona3,)
VALUES (vrednost1, vrednost2, vrednost3,)
B. Unos podataka u tano odreene kolone (ne u sve)
Tada se u listi kolona navode samo eljene kolone
7
-
Vri izmenu postojeih redova u tabeli
UPDATE ime_tabele
SET kolona1=vrednost1, kolona2=vrednost2,WHERE kolona=vrednost
WHERE klauzulu koristimo da bismo odredili koje tanoredove menjamo
Ako izostavimo ovaj uslov, izmena e se izvriti za sveredove tabele
8
-
Brie redove iz tabele koji zadovoljavaju uslov dat sa WHERE klauzulom:
DELETE FROM ime_tabeleWHERE kolona=vrednost
WHERE klauzulu koristimo da bismo odredili koje tano WHERE klauzulu koristimo da bismo odredili koje tanoredove briemo.
Ako izostavimo WHERE uslov, svi redovi tabele e bitiobrisani:
DELETE FROM ime_tabele
ili
DELETE * FROM ime_tabele
9
-
Prikaz izabranih podataka iz baze:
SELECT * FROM ime_tabele
SELECT lista_kolona FROM ime_tabele
gde je
lista_kolona: ime_kol1,ime_kol2,
10
lista_kolona: ime_kol1,ime_kol2,
SELECT DISTINCT lista_kolona FROM ime_tabele
( DISTINCT je kljuna re za prikaz razliitih podataka )
Rezultati izvravanja SELECT iskaza se smetaju u tabelu kojase zove result-set
-
WHERE klauzula slui za izdvajanje samo onih slogova
koji zadovoljavaju postavljeni uslov:
SELECT lista_kolona
FROM ime_tabeleFROM ime_tabele
WHERE ime_kolone operator vrednost
Operatori mogu da se primenjuju na razliite tipove
podataka (numerike, tekstualne, logike, datumske).
11
-
Relacioni peratori:
= jednako, != razliito, > vee, < manje,
>= vee ili jednako,
-
Kljuna re za sortiranje rezultata upita po nekojkoloni
SELECT ime_kolone/aFROM ime_tabeleORDER BY ime_kolone/a ASC|DESCORDER BY ime_kolone/a ASC|DESC
Po default-u, rezultati se sortiraju po rastuemredosledu (ASC)
Ako elimo opadajui redosled sortiranja, koristimokljunu re DESC
13
-
SELECT ime_kolone/aFROM ime_tabeleLIMIT number
Koristi se za odreivanje broja redova kojevraa postavljeni upit.
Korisna je kod tabela koje imaju veliki brojredova, jer upiti mogu usporiti radaplikacije.
14
-
Slui za pretraivanje i pronalaenje odreenih
kolona u tabeli.
Znak % slui za zamenu jednog ili vie nepoznatih Znak % slui za zamenu jednog ili vie nepoznatih
karaktera pri pretraivanju baze podataka.
15
-
SELECT ime_kolone/a
FROM ime_tabeleWHERE ime_kolone
IN (vrednost1,vrednost2,)IN (vrednost1,vrednost2,)
Omoguava zadavanje skupa vrednostiu WHERE klauzuli.
16
-
SELECT ime_kolone/aFROM ime_tabeleWHERE ime_koloneBETWEEN vrednost1 AND vrednost2
Za oznaavanje skupa podataka izmeu dve zadatevrednosti u WHERE klauzulivrednosti u WHERE klauzuli
Te vrednosti mogu biti brojevi, tekst ili datumi
U MySQL-u BETWEEN operator u skup traenih podatakaubraja i granine vrednosti
NOT BETWEEN oznaava skup podataka izvan intervalaobuhvaenog graninim vrednostima ove naredbe
17
-
SQL agregatne funkicje vraaju vrednost, izraunatu iz
svih vrednosti u koloni koja je zadata kao argument:
AVG() prosena vrednost
COUNT() broj redova
FIRST() prva vrednost
LAST() poslednja vrednost
MAX() najvea vrednost
MIN() najmanja vrednost
SUM() zbir vrednosti
18
-
SQL skalarne funkcije vraaju vrednost, na osnovuvrednosti koja se zadaje kao argument funkcije:
UCASE() konvertuje u velika slova
LCASE() konvertuje u mala slova
MID() izdvaja karaktere iz tekstualnog polja MID() izdvaja karaktere iz tekstualnog polja
LEN() vraa duinu tekstualnog polja
ROUND() zaokruuje numerika polja na odreeni
broj decimala
NOW() vraa tekui sistemski datum i vreme
FORMAT() formatiranje prikaza
19
-
Koristi se u kombinaciji sa agregatnim funkcijama da bi se rezultati grupisali po jednoj ili vie kolona:
SELECT ime_kolone, agregatna_funkcija(ime_kolone)FROM ime_tabeleWHERE ime_kolone operator vrednostWHERE ime_kolone operator vrednostGROUP BY ime_kolone
Ako vrimo grupisanje po vie kolona, tada ih navodimoiza GROUP BY razdvojene zarezima:
SELECT ....
GROUP BY ime_kolone1, ime_kolone2,...
20
-
Ova klauzula je dodata u SQL jer WHERE ne moe da se
koristi sa agregatnim funkcijama
SELECT ime_kolone,agregatna_funkcija(ime_kolone)
FROM ime_tabeleFROM ime_tabele
WHERE ime_kolone operator vrednost
GROUP BY ime_kolone
HAVING agregatna_funkcija(ime_kolone) operator
vrednost
21