Html I JavaScript se izvršavaju na klijentskoj strani, odnosno na korisničkom računaru


Privilegije se zapravo nalaze u mysql bazi podataka, koja se sastoji iz sledećih tabela



Yüklə 2,77 Mb.
səhifə16/16
tarix17.09.2018
ölçüsü2,77 Mb.
#68911
1   ...   8   9   10   11   12   13   14   15   16

Privilegije se zapravo nalaze u mysql bazi podataka, koja se sastoji iz sledećih tabela:

  • Privilegije se zapravo nalaze u mysql bazi podataka, koja se sastoji iz sledećih tabela:

    • user – određuje korisnike koji mogu da se loguju na server sa bilo kog hosta i njihove privilegije
    • db – određuje koji korisnici mogu da pristupe kojim bazama podataka
    • tables_priv: određuje koji korisnici mogu da pristupe kojim tabelama date baze
    • columns_priv: određuje koji korisnici mogu da pristupe kojim kolonama date tabele date baze












Administrator kreira i briše korisnike, dodeljuje im i oduzima privilegije, pomoću komandi

  • Administrator kreira i briše korisnike, dodeljuje im i oduzima privilegije, pomoću komandi

    • CREATE USER
    • DROP USER
    • GRANT
    • REVOKE
  • Privilegije su zapravo komande kojim se vrše operacije nad bazama podataka: modifikacije baza podataka, čitanje podataka iz baza, upisivanje podataka u baze, ažuriranje podataka u bazama, i brisanje podataka iz baza



Korisnik se kreira bez privilegija naredbom:

  • Korisnik se kreira bez privilegija naredbom:

  • CREATE USER korisnik1 [IDENTIFIED BY [PASSWORD] ‘lozinka1']

  • [, korisnik2 [IDENTIFIED BY [PASSWORD] ‘lozinka2']…]

  • Primer:

  • mysql> CREATE USER ‘aleks’@ ‘localhost’ IDENTIFIED BY “12cikpogodi”;

  • Korisnik se briše komandom

  • DROP USER korisnik1 [, korisnik2…]



Privilegije se dodeljuju naredbom

  • Privilegije se dodeljuju naredbom

  • GRANT tipPrivilegije1 [(listaKolona1)] [, tipPrivilegije2 [(listaKolona2)] ...]

  • ON {imeTabele | * | *.* | imeBaze.*}

  • TO korisnik1 [IDENTIFIED BY ‘lozinka1']

  • [, korisnik2 [IDENTIFIED BY ‘lozinka2'] ...]

  • [REQUIRE {NONE|SSL|X509|ISSUER sertifikacionoTelo}]

  • [WITH opcija]

  • Primer

  • mysql> GRANT UPDATE ON knjige.* TO ‘marija’@ ‘192.168.1.103’;



Privilegije se oduzimaju korisniku naredbom:

  • Privilegije se oduzimaju korisniku naredbom:

  • REVOKE tipPrivilegije1 [(listaKolona1)] [, tipPrivilegije2 [(listaKolona2)] ...]

  • ON {imeTabele | * | *.* | imeBaze.*}

  • FROM korisnik1 [, korisnik2 ...]

  • Primer:

  • mysql> REVOKE INSERT ON knjige.* FROM ‘marija’@‘192.168.1.102’;



SELECT dozvoljava korisnicima da selektuju (čitaju) zapise iz tabela.

  • SELECT dozvoljava korisnicima da selektuju (čitaju) zapise iz tabela.

  • INSERT dozvoljava korisnicima da upisuju nove zapise (redove) u tabelu.

  • UPDATE dozvoljava korisnicima da menjaju postojeće zapise u tabelama.

  • DELETE dozvoljava korisnicima da brišu zapise (redove) iz tabela

  • INDEX dozvoljava korisnicima da indeksiraju tabele, što omogućava brže pretraživanje



CREATE dozvoljava kreiranje baza ili tabela

  • CREATE dozvoljava kreiranje baza ili tabela

  • ALTER dozvoljava korisnicima da menjaju strukturu baze podataka.

    • Dodavanje novih kolona
    • Promena imena kolona ili tabela
    • Promena tipa podataka u okviru tabela
  • DROP dozvoljava brisanje baza podataka ili tabela



USAGE daje minimalne privilegije. Ova opcija je korisna ako se želi samo kreirati novi korisnik.

  • USAGE daje minimalne privilegije. Ova opcija je korisna ako se želi samo kreirati novi korisnik.

  • Ima i drugih tipova: CREATE USER, PROCESS, SHOW DATABASES.

  • Kompletna lista na:

  • http://dev.mysql.com/doc/refman/5.6/en/grant.html



Najvažnije komande: CREATE, DROP, SELECT, INSERT, DELETE, UPDATE

  • Najvažnije komande: CREATE, DROP, SELECT, INSERT, DELETE, UPDATE

  • Kompletan spisak komandi:

  • http://dev.mysql.com/doc/refman/5.6/en/sql-syntax.html



Baza podataka se kreira jednostavnom naredbom:

  • Baza podataka se kreira jednostavnom naredbom:

  • CREATE DATABASE imeBaze;

  • Baza podataka se briše naredbom

  • DROP DATABASE imeBaze;

  • U bazu se ulazi naredbom

  • USE imeBaze;

  • Alternativno tabela i kolone se zovu:

  • imeBaze.imeTabele i

  • imeBaze.imeTabele.imeKolone



CREATE TABLE [IF NOT EXISTS] imeTabele (

  • CREATE TABLE [IF NOT EXISTS] imeTabele (

  • imeKolone1 tipKolone1 [atributiKolone1], [imeKolone1 tipKolone2 [atributiKolone2],…]);

  • Primer:

  • CREATE TABLE zaposleni (

  • id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

  • ime VARCHAR(25) NOT NULL,

  • prezime VARCHAR(25) NOT NULL,

  • telefon VARCHAR(45) NOT NULL);



Tipovi kolona mogu biti INT, FLOAT, DOUBLE, INT UNSIGNED, DATE, TIMESTAMP, CHAR, NATIONAL CHAR CHARACTER SET imeAlfabeta, [NATIONAL] [CHARACTER SET imeAlfabeta] VARCHAR (dužina)

  • Tipovi kolona mogu biti INT, FLOAT, DOUBLE, INT UNSIGNED, DATE, TIMESTAMP, CHAR, NATIONAL CHAR CHARACTER SET imeAlfabeta, [NATIONAL] [CHARACTER SET imeAlfabeta] VARCHAR (dužina)

  • Kompletna lista tipova se može naći na:

  • http://dev.mysql.com/doc/refman/5.6/en/data-type-overview.html

  • Atributi kolona su: DEFAULT vrednost, AUTO_INCREMENT, NOT NULL, PRIMARY KEY, UNIQUE,... Kompletna lista:

  • http://dev.mysql.com/doc/refman/5.6/en/create-table.html



Tabela se menja komandom

  • Tabela se menja komandom

  • ALTER TABLE imeTabele [ADD COLUMN|CHANGE|DROP] [imeKolone1] imekolone2 [,tipKolone2[,atributiKolone2]] [AFTER imekolone3]

  • Primer:

  • ALTER TABLE zaposleni ADD COLUMN email VARCHAR(20) AFTER telefon;



Sintaksa komande

  • Sintaksa komande

  • SELECT izrazKolona1 [,izrazKolona2 …] [FROM imeTabele1[,imeTabele2…]

  • [GROUP BY {imeKolone3|izrazKolona3}]

  • [WHERE uslov]][ORDER BY imeKolone [ASC|DESC]]

  • Primer:

  • SELECT name, address FROM customers ORDER BY name ASC



AVG(imeKolone) daje prosečnu vrednost kolona

  • AVG(imeKolone) daje prosečnu vrednost kolona

  • COUNT(imeKolone) daje broj ne NULL vrednosti u okviru kolone

  • COUNT(DISTINCT imeKolone) daje broj različitih vrednosti u okviru kolone

  • MIN(imeKolone), MAX(imeKolone)

  • STD(imeKolone) daje standardnu devijaciju

  • SUM(imeKolone) zbir vrednosti kolona

  • LOCATION(imeKolone,string) lociranje vrednosti kolone u stringu



Korišćenje funkcija

  • Korišćenje funkcija

  • SELECT AVG(cena) FROM kupovine;

  • Korišćenje funkcija i grupisanja, nalazi minimalnu cenu koju je platio svaki kupac

  • SELECT MIN(cena) FROM kupovine

  • GROUP BY id_kupca;



Sintaksa za upisivanje novog zapisa u tabelu:

  • Sintaksa za upisivanje novog zapisa u tabelu:

  • INSERT INTO tabela VALUES (vrednost1, vrednost2, ..);

  • Primer:

  • INSERT INTO proizvodi VALUES ('',‘Jabuke',1.23);

  • U primeru za vrednost prve kolone je korišćen prazan string jer je kolona definisana kao AUTO_INCREMENT.



Opšta sintaksa je:

  • Opšta sintaksa je:

  • DELETE FROM imeTabele [WHERE uslov] [ORDER BY ...] [LIMIT broj]

  • Primer:

  • DELETE FROM zaposleni WHERE

    • zaposleni.ime=‘Marko'


Opšta sintaksa je:

  • Opšta sintaksa je:

  • UPDATE tabela SET imeKolone1=izraz1,

  • imeKolone2=izraz2,... [WHERE uslov]

  • [ORDER BY ...] [LIMIT broj] ;

  • Primer

  • UPDATE studenti SET email=‘mnatasa@etf.rs'

    • WHERE ime=‘Nataša Maksić';


Razvijen je skup funkcija za rad sa MySQL bazama, od kojih su najvažnije: mysqli_connect, mysqli_close, mysqli_select_db, mysqli_query, mysqli_db_query, mysqli_fetch_array...

  • Razvijen je skup funkcija za rad sa MySQL bazama, od kojih su najvažnije: mysqli_connect, mysqli_close, mysqli_select_db, mysqli_query, mysqli_db_query, mysqli_fetch_array...

  • Kompletna lista se može naći na stranici

  • http://www.php.net/manual/en/ class.mysqli.php



Razvijen je skup funkcija za rad sa MySQL bazama, od kojih su najvažnije: mysqli::query, mysqli_result::fetch_all, mysqli::close, ...

  • Razvijen je skup funkcija za rad sa MySQL bazama, od kojih su najvažnije: mysqli::query, mysqli_result::fetch_all, mysqli::close, ...

  • Kompletna lista se može naći na stranici

  • http://www.php.net/manual/en/class.

  • mysqli.php



Sintaksa

  • Sintaksa

  • link=mysqli_connect(host[,korisnik[,lozinka[, baza]])

  • mysqli_close(link)

  • Primer:

  • $l=mysqli_connect(“localhost”, “aleks”, “12cikpogodi”);

  • mysqli_close($l);



Sintaksa

  • Sintaksa

  • link= new mysqli(host[,korisnik[,lozinka[, baza]])

  • link->close()

  • Primer:

  • $l=new mysqli(“localhost”, “aleks”, “12cikpogodi”);

  • $l->close();



Sintaksa kreiranja i brisanja baza:

  • Sintaksa kreiranja i brisanja baza:

  • mysqli_query (link [, upit])

  • Primer kreiranja baze:

  • $veza=mysqli_connect ('localhost');

  • $sql='CREATE DATABASE IF NOT EXISTS katedra DEFAULT COLLATE utf8_general_ci';

  • mysqli_query ($veza,$sql);



Sintaksa kreiranja i brisanja baza:

  • Sintaksa kreiranja i brisanja baza:

  • $veza->query (upit)

  • Primer kreiranja baze:

  • $veza=new mysqli('localhost');

  • $sql='CREATE DATABASE IF NOT EXISTS katedra DEFAULT CHARACTER SET utf8';

  • $veza->query($sql);



Primer kreiranja baze:

  • Primer kreiranja baze:

  • $veza=new mysqli('localhost‘, NULL, NULL, ‘firma’);

  • $sql=“CREATE TABLE Zaposleni (ID int PRIMARY KEY,

  • Prezime varchar(255), Ime varchar(255), Adresa varchar(255), Grad varchar(255));”

  • $veza->query($sql);



Metode klase mysqli_result na

  • Metode klase mysqli_result na

  • http://www.php.net/manual/en/class.mysqli-result.php

  • Metode:

  • $rez=$veza->mysqli($upit);

  • $rez->fetch_all();

  • $rez->fetch_assoc();

  • $rez->fetch_array();



Metode klase mysqli_result na

  • Metode klase mysqli_result na

  • http://www.php.net/manual/en/class.mysqli-result.php

  • Metode:

  • $rez=$veza->mysqli($upit);

  • $rez->fetch_all();

  • $rez->fetch_assoc();

  • $rez->fetch_array();



Metode klase mysqli_result na

  • Metode klase mysqli_result na

  • http://www.php.net/manual/en/class.mysqli-result.php

  • Metode:

  • $rez=mysqli_query($veza,$upit);

  • mysqli_fetch_all($rez);

  • mysqli_ fetch_assoc($rez);

  • mysqli_ fetch_array($rez);



Primer:

  • Primer:

  • if isset($_POST[‘unesi’]){

  • $veza=new mysqli(“localhost”, “aleks”, “tajna”, “kompanija”);

  • $upit=“SELECT proizvod,cena FROM proizvodi WHERE cena<‘{$_POST[‘maxcena’]}’”;

  • $rez=$veza->query($upit);

  • while ($red=$rez->fetch_assoc()){

  • echo $red[‘proizvod’].”:”. $red[‘cena’];}}

  • ?>



Primer:

  • Primer:

  • if isset($_POST[‘unesi’]){

  • $veza=new mysqli(“localhost”, “aleks”, “tajna”, “kompanija”);

  • for ($i=0; $i

  • $IDreda=$_POST[‘IDreda’][$i];

  • $upit=“DELETE FROM proizvodi WHERE IDreda=‘$IDreda’”;

  • $rez=$veza->query($upit);}

  • if ($rez) echo “Podaci izbrisani!”

  • $veza->close();}

  • ?>



Primer:

  • Primer:

  • if isset($_POST[‘submit’]){

  • $veza=new mysqli(“localhost”, “aleks”, “tajna”, “kompanija”);

  • $IDproizvoda=$_POST[‘IDproizvoda’];

  • $naziv=$_POST[‘naziv’];

  • $cena=$_POST[‘cena’];

  • $upit=“INSERT INTO proizvodi SET IDproizvoda=‘$IDproizvoda’, naziv=‘$naziv’ cena=‘$cena’”;

  • $rez=$veza->query($upit);

  • If ($rez) echo “Podaci ubačeni!”;}

  • ?>







Ide se na Add User

  • Ide se na Add User

  • Izabere se korisničko ime, šifra, i host

  • Ovi podaci se koriste kada se konektuje na server pomoću komandi mysqli_connect(), ili new mysqli()







Ide se sa localhost-a (NE udje se ubazu) na Custom opciju za Export Method

  • Ide se sa localhost-a (NE udje se ubazu) na Custom opciju za Export Method

  • Izabere se baza

  • Štrikliraju se komande

    • Add DROP DATABASE statement
    • Add CREATE DATABASE / USE statement
  • Zatim klikne na Go



Portabilan XAMPP

  • Portabilan XAMPP

  • http://portableapps.com/apps/development/xampp



Na (X)HTML stranici se definiše kodiranje (UTF-8)

  • Na (X)HTML stranici se definiše kodiranje (UTF-8)

  • Alternativno, u httpd.conf fajlu se doda komanda

  • AddDefaultCharset UTF-8

  • Ili se u .htaccess fajl doda komanda i onda se u folderu u kome je .htaccess fajl primenjuje pravilo

  • AddDefaultCharset UTF-8



Pri kreiranju baze, tabela i kolona definiše se njihov alfabet, odnosno CHARACTER SET i COLLATION

  • Pri kreiranju baze, tabela i kolona definiše se njihov alfabet, odnosno CHARACTER SET i COLLATION

  • Da bi se u bazi videla slova srpske azbuke, na primer, potrebno je poslati podatke bazi koristeći utf-8 kodiranje naredbom

  • mysqli_set_charset($veza,"utf8");



Yüklə 2,77 Mb.

Dostları ilə paylaş:
1   ...   8   9   10   11   12   13   14   15   16




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə