Professional Documents
Culture Documents
MySQL
Database: SQL
MySQL
MySQL (http://www.mysql.com) eshte nje server databaze i
fuqishem, zhvilluar dhe mirembajtur nga T.c.X DataKonsultAB,
Stockholm, Sweden.
Sintaksa
default
Percakton nje vlere qe merr nje kolone nese ne e leme bosh
kur futim nje rresht ne tabele
auto_increment
Vete_rrites – e vendos ne menyre automatike vleren e nje kolone te
tipit int duke rritur me nje, vleren me te madhe qe ka rreshti paraardhes
Psh nese i fundit ka qene 7 , vlera e re qe do te merret automatikisht do te jete 8(7+1)
Nese e fshijme nje rresht , id e tij nuk perdoret me , nuk i jepet nje
rreshti tjeter.
Kjo mundeson identifikimin unik te rreshtave kur behet fjale per çelesin
primar
Shembull
create table topics2 (
topic_id integer not null auto_increment,
parent_id integer default 0 not null,
root_id integer default 0,
name varchar(255),
description text null,
create_dt timestamp,
modify_dt timestamp,
author varchar(255) null,
author_host varchar(255) null,
primary key(topic_id),
index my_index(parent_id)
)
Vlera Boshe - NULL
Psh: nese kolona eshte percaktuar si char(10) dhe duam te ruajme vleren
“happy”, MySQL do te ruaje “happy” dhe 5 hapesira. Hapesirat hiqen nga
rezultati kur merret vlera nga tabela.
Shembull nr_amzes , Nr_targes te cileve i dihet numri i shkronjave
Varchar(n) (n<=255)
Fjale me gjatesi variabel 0 deri ne n shkronja
Ne ndryshim nga char, ketu vleres nuk i shtohen hapesira, por MySQL
shton nje karakter per çdo fushe varchar, i cili ruan gjatesine e fushes.
MySQL heq hapesirat nga fundi i stringjeve ne fusha te tipit varchar
Tipet Tekst
Te gjithe tipet e meposhtme kane gjatesi variabel si ne rastin e varchar(n)
Ndryshojne nga njeri-tjetri nga gjatesia maksimale e tekstit qe mund te mbajne
TINYTEXT
Gjatesia maksimale eshte 255 karaktere
TEXT
Gjatesia maksimale eshte 65,535 karaktere
MEDIUMTEXT
Gjatesia maksimale 16,777,215 karaktere
LONGTEXT
Gjatesia maksimale 4,294,967,295 karaktere
Ky tip nuk perdoret shume pasi gjatesia maksimale e stringut qe lejon MySQL eshte vetem 16
milion byte
ENUM
Perdorimi :
enum (‘value1’, ‘value2’, ‘value3’ ...) [default
‘value’]
YEAR
Perdorim : year[(2|4)]
Shembull:
create table my_table (
char_column char (255) not null,
text_column text not null,
index index_on_char (char_column(20)),
index index_on_text (text_column(200))
);
Nje indeks mund te siguroje qe te ekzistojne vlera unike ne çdo rresht ne
nje tabele duke perdorur kufizimin “unique”.
create table my_table(
char_column char (255) not null,
text_column text not null,
unique index index_on_char (char_column) );
Komanda Insert
Nese nje kolone lejon vlera Null ath ju mund te mos e vendosni
ate ne komanden insert
INSERT Sintaksa
shembull
insert into table_name (text_col, int_col) values (‘hello world’, 1)
Escape characters
Disa karaktere te veçanta mund te perdoren si vlera ne nje kolone duke i paraprire
me backslash \
‘ (single quote)
“ (double quote)
\ (backslash)
% (percent sign)
_ (underscore)
Per escape per thonjezat teke mund te perdorim edhe dy thonjeza teke njera pas
tjetres (‘’) .
Keto karaktere identifikohen ne MySQL nga sekuenca e tyre escape:
\n (newline)
\t (tab)
\r (carriage return)
\b (back space)
Komanda update
Sintaksa
update table_name
set col_1=value1, col_2=value_2
where col=value
Shembull:
update folks set fname=’Vito’ where id=2
from [ emri_tabeles]
where [ kusht_logjik]
Having [kusht_logjik]
Shembuj select i thjeshte
Operator Definition
= equal to
<> or != not equal to
< less than
<= less than or equal to
> greater than
>= greater than or equal to
Like Compares a string
Komanda drop
drop table/drop database
Per te fshire nje tabele ose te gjithe bazen e te dhenave
perdoret komanda drop.
Mund te vereni qe ne kete shembull eshte perdorur nje sintakse tjeter per
kushtin join. Eshte perdorur sintakse me USING, ne vend te ON.
Perdorimi i USING nuk e specifikon tabelen nga e cila vjen atributi i join, per kete
arsye kolonat ne te dy tabelat duhet te kene te njejtin emer nese deshironi te
perdorni USING.
Perdorimi i emrave te tjere per tabelat: Pseudonimet
(Aliases )
Shembuj:
Per te dhene sasine mesatare te porosive per çdo klient (ose me mire
per çdo customerid), perdorim:
Grupimi dhe bashkimi (aggregate) i te dhenave
Marrja e te dhenave nga disa tabela
Kufizim i te dhenave qe kthen SELECT, qe mund te jete veçanerisht i
vlefshem ne aplikacionet web, eshte LIMIT.
Ai ka dy parametra:
numrin e rreshtit nga i cili duhet te filloje dhe
numrin e rreshtave qe duhet te ktheje:
Kjo query mund te lexohet si: “Selekto name nga customers dhe me
pas kthe 3 rreshta, duke filluar nga rreshti 2 ne output”
Vereni qe numrat e rreshtave indeksohen me zero: dmth qe rreshti i
pare i output-it eshte rreshti me numer zero.
Ndryshimi i rekordeve ne bazen e te dhenave
Ne phpmyadmin
Provoni insert me datelindjen null
Futni disa studente me te njejtin emer me insert
Afishoni te gjithe studente qe vijne nga Tirana
Provoni te gjeni sa here perseritet cdo emer
Provoni te gjeni cilet jane studentet qe kane emer dhe mbiemer
te njejte