Home   FORUM   Toplista   HTML   CSS   JavaScript   PHP   DIZAJN   SEO   Mapa
KONTAKT
izuzetan[at]gmail.com






TOP LISTA SAJTOVA

Osnovna sintaksa MySQL baze

Ovde će mo dati opis najupotrebljavanije sintakse, ali naravno ima još MySQL iskaza.

Not null

NOT NULL znači da ta kolona mora imati sve vrednosti u redovima. Ako to nije navedeno onda može da se nadje i neko prazno polje.

Auto_increment

AUTO_INCREMENT je karakteristika celobrojnih kolona, uglavnom za izradu ključeva koji se ne unose preko formi ili skripti na sajtu. Tako na primer ako polje ostane prazno automatski se generiše broj u polju i to takav da mu vrednost bude prvi veći ceo broj od najvećeg u koloni. Tako generisan broj je jedinstven identifikator u tabeli. Svi brojevi u koloni se generišu automatski. U tabeli može da postoji samo jedan jedinstveni identifikator. Kolone koje su označene rezervisanom rečju AUTO_INCREMENT moraju biti indeksirane.

Primary key

PRIMARY KEY govori da je kolona primarni ključ tabele. Vrednosti u toj koloni moraju biti jedinstvene i MySQL će kolonu automatski indeksirati. Pri izradi tabele "Narucene knjige" imamo dve kolone koje su primarni ključevi i tad to možemo navesti na kraju tako da se u zagradi upišu sve kolone koji su primarni ključevi.

Unsigned

UNSIGNED stoji jedino u opisu kolona u kojima će se upisivati celi brjevi i to samo pozitivni, to jest celi brojevi veći od nula i broj nula.

Int

INT znači da će u koloni da se upisuju isključivo celi brojevi. Memorija koja se rezerviše je od 4 bajta. Opseg brojeva koji mogu da se upisuju su od -2 147 483 648 do 2 147 483 647. Ili od 0 do 4 294 967 295 ukoliko su izabrani pozitivni brojevi, to jest ukoliko u opisu tipa podataka kolone pored INT upišemo još i UNSIGNED. Ako unesemo neki veći broj od ovih maksimalnih upisaće se maksimalna vrednost a ne naš broj! Postoje još i sledeće rezervisane reči za cele rojeve:

  • TINYINT - celi brojevi u rasponu od -127 do 128 i za pozitivne brojeve od 0 do 255. Memorija koja se rezerviše je 1 bajt.
  • SMALLINT - celi brojevi u rasponu od -32 768 do 32 767, i za pozitivne brojeve od 0 do 65 535. Memorija 2 bajta.
  • MEDIUMINT - celi brojevi u rasponu od -8 388 608 do 8 388 607, i za pozitivne brojeve od 0 do 16 777 215.Memorija 3 bajta
  • BIGINT - celi brojevi u rasponu od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807, ili za pozitivne brojeve od 0 do 18 446 744 073 709 551 615. Memorija je 8 bajta.

Char

CHAR (broj znakova) - znači da će se u koloni upisivati znakovi, ili ti string. Maksimalni broja znakova kod ovog tipa odredjuje broj u zagradi. Ako se unese u polje string sa manje znakova onda će MySQL do tog broja dodati razmake. Ovde MySQL pre unosa ne izbacuje nepotrebne praznine ali prilikom isčitavanja briše. Ako ne želimo bespotrebno tako da trošimo memoriju onda alternativa je VARCHAR koji zauzima samo neophodnu memoriju plus jedan bajt, a takodje MySQL briše pre unosa u tabelu nepotrebne praznine.. Ovde je reč o kompromisu jer varchar zauzima manje prostora ali je char brži. I u jednom i u drugom slučaju raspon je od 1 do 255 znakova. Takodje u nastavku oba ova opisa može stajati opis BINARY i u tom slučaju neće se razlikovati mala i velika slova

Float()

FLOAT(M,D) - kad su brojevi decimalni onda možemo odrediti koliko cifara mogu imati u celobrojnom delu zapisa a koliko u decimalnom delu.

Tako na primer FLOAT(4,2) znači da decimalni broj u celobrojnom delu može imati maksimalno 4 cifre a u decimalnom 2 cifre.

Raspon se kreće: od +- 0.00000000000000000000000000000000000001175494351 do +- 34028234660000000000000000000000000000 ili kraće napisano od +-1.175494351E-38 do +-3.402823466E+38. Memorija koja se rezerviše je od 4 bajta.

Postoji što se tiče decimalnog zapisa još jedan zanimljiv tip podataka a to je DOUBLE(M,D). Raspon ovog tipa je sledeći: +- 1.7976931348623157E+308 do +- 2.2250738585072014E-308 . A memorija 8 bajta.

Date

DATE - Kada ubacujemo datum i vreme u MySQL moramo voditi računa o formatu datuma kog izaberemo za kolonu. Raspon i format prikaza kad izaberemo DATE je od 1000-01-01 do 9999-12-31 (obavezno mora da stoji znak minus izmedju). A ako hoćemo i vreme onda pišemo DATETIME. Tad je format prikaza i raspon od 1000-01-01 00:00:00 do 9999-12-31 23:59:59. Ako nam je bitno samo vreme onda pišemo TIME a format prikaza i raspon će biti -838:59:59 do 838:59:59. Postoji i samo datum za godine YEAR(2 ili 4). Ako stavimo samo broj 2 onda je raspon i format 70 do 69 (misli se 1970 do 2069 samo pišemo zadnje dve cifre), a ako stavimo samo broj 4 u zagradi onda je format i raspon 1901 do 2155.

Text

TEXT - ovaj tip podataka definiše duže tekstove poput novinskih članaka. Postoje nekoliko verzija ovog tipa koji se razlikuju po dužini ili broju unetih znakova.

  • TINYTEXT - tekst koji sadrži 255 znakova
  • TEXT - 65 535 znakova (64 KB)
  • MEDIUMTEXT - 16 777 215 znakova (16 MB)
  • LONGTEXT - 4 294 964 295 znakova (4 GB)

Blob

BLOB smešta binarne podatke koji čuvaju bilo šta na primer slike, zvuk, film i slično. Ako umesto TEXT u gornjoj listi ubacimo BLOB a sve ostalo identično dobijamo ostale verzije BLOB podataka u vezi dužine znakova. Na primer TINYBLOB, MEDIUMBLOB, LONGBLOB i BLOB.

Medjutim ako želimo da definišemo tačno odredjene znakove koje želimo da ubacujemo u kolone onda koristimo tipove ENUM i SET. Piše se:

ENUM("vrednost1", "vrednost2", . . . ,vrednostN)

Isto važi i za SET:

SET("vrednost1", "vrednost2", . . . ,vrednostN)

Razlika izmedju ENUM i SET je ta da ENUM tip polja može da sadrži 65 535 navedenih znakova od vrednost1 do vrednostN zajednu i vrednost NULL koja je podrazumevana, a SET maksimalno 64 znakova.

Pošto smo kreirali tabele možemo sada videti kako se one pune podacima sa sajta koji mogu da se unose od strane posetilaca preko formi ili da se u tabele smeštaju podaci dobijeni nekim izračunavanjima. Ovde će mo videti kako se putem PHP skripti unose, brišu, dodaju, ažuriraju podaci i postavljaju pitanja MySQL bazi podataka. I ovde će mo obilato koristiti PHP funkciju mysql_query().

Copyright © 2010 BUbaj. Powered By bubaj.com
PHP    PHP sintaksa    Fajl    Niz    String    Funkcija    Objektno programiranje    MySQL    Unos fajla    Datum    Forme    Sesija    Registracija