|
Html I JavaScript se izvršavaju na klijentskoj strani, odnosno na korisničkom računaruPrivilegije se zapravo nalaze u mysql bazi podataka, koja se sastoji iz sledećih tabela
|
səhifə | 16/16 | tarix | 17.09.2018 | ölçüsü | 2,77 Mb. | | #68911 |
| 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 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; 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(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
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) 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");
Dostları ilə paylaş: |
|
|