# Shkenca > Informatikë dhe Internet > Trajnim & leksione >  SQL: Bazat e SQL

## init-6

**************************************************  *********************
Pershendejte
Me kete tutorial, kam dashur te paraqes konceptet dhe komandat baze te SQL qe eshte nje server scritping lenguage.
SQL eshte "gjuha e databazave" pra eshte gjuha me ane te se ciles magazionohen te dhenat ne nji databaze, dhe me ane te kesaj gjuhe dhe komandave te saj ne mund te:
modifikojm, rregullojm, eliminojm, te bejm update, etj etj te dhenate e databazes.
Eshte shume e rendesishme te dijm para se te hyjm ne tutorial se si eshte e ndertuar nji DB
Besoj se keni degjuar mysql , oracle, phpmyadmin etj lolz, keto jan pikerisht 
disa aplikacione te cilat thjeshtesojn perdorimin e sql, normalisht qe dueti me i njohur eshte mysql-phpmyadmin...
Databaza eshte e ndertuar nga 
Ne fillim eshte DB
DB ndahet ne Tabela
Tabelat ndahen ne RRESHTA
dhe tek rreshtat kemi te magazinuara te dhenat 
------------------------------------------------------------
Ja ku e kemi nji DB dhe ne kete rast DB quhet underhack_forum


Ato qe shikoni posth DB dhe qe i shikoni te renditura quhen TABELA
dhe ne ratin e mesiperm jane ato qe jane te renditura posht underhack_forum

C'do tabele eshte e perbere nga rreshta, dhe ne kete rast mund te shikoni rreshtat e tabeles perkatese smf_ban_groups


Se fundmi, c'do rresht ka ne vetvete te dhena.
JA rasti konkret


**************************************************  ******************
Ok, tani qe e kemi te qart se si funksionon
Vazhdojm me tutorialin.
C'fare eshte SQL?
SQL do te thote Structured Query Language 
SQL ju lejon akses ne DB
SQL eshte ANSI standard kompiuter language
SQL mund te egzekutoj query ndaj DB
SQL mund te fusi te dhena te reja ne DB, mund ti eliminoje ato dhe mund te bej update te te dhenave.
----------------------------------------------------------------------------------------
SQL Tabela
SQL eshte nji gjuhe programimi qe sherben per ruajtjen e te dhenave ne server
dhe ajo eshte e perber nga tabela
Dhe c'do tabele eshte e perbere nga rreshta te cilat permbajn te dhena (data)
----------------------------------------------------------------------------------------
SQL queries
Me ane te SQL ne mund ti drejtojm DB Pyetje (query) dhe db na kthen pergjigje
per pyetjen qe i bem.
Psh
SELECT union password from admin--
-----------------------------------------------------------------------------------------
Sintaksa kryesore
SELECT selekton te dhena nga nji tabel e DB pra ne kete menyre kemi mundesi per te extraktuarte dhenat qe na interesojn
UPDATE ben update te dhenave ne DB, pra i rifreskon ato me te dhena te reja
DELETE nga vete fjala fshin, eliminon te dhena nga nji tabel e DB
INSERT INTO Fut te dhena ne brendesi te nji tabele te DB
CREATE TABLE krijon nji tabele te re ne DB
ALTER TABLE ndryshon nji tabele te DB
DROP TABLE eliminon nji tabele te DB
CREATE INDEX krijon nji index
DROP INDEX eliminon nji index
**************************************************  *
**************************************************  *
SINTAKSA E SELECT
kjo komand, sic e thame perdoret per te selektuar te dhena, pra data nga nji tabele e databazes (DB)
Sic e dime, DataBaza eshte e perber nga tabela,
dhe tabelat jane te perbera nga rreshta brenda te cilave ruhen te dhenat (data)
dhe qe ne te kemi mundesin per te selektuar nje te dhen (data) qe na intereson
atehere ne duhet te specifikojm Tabelen dhe rreshtin
PSH Select admin_name(s) FROM table_name
Dhe ne ne kete rast i kemi thene te selektoj emrin e adminit pra qe eshte nji rresht i magazinuar ne tabelen e emrave.
Nese duam ti selektojm te gjithe rreshtat atehere perdorim simbolin asterix *
Pra , kujtoni komanden tek google hacking , qe kur neve nuk dime apo kemi harruar nji kriter kerkimi vendosim simbolin * duke perfshire me kete simbol te gjithe kriteret e mundshme te kerkimit.
Gjysem kolonat
Shumica e juaj, nese keni pas te beni me nji host, kane ven re
qe disa hoste lejojn me shume se 1 DB sql e cila egzekutohet njekohesisht
Pa krijuar probleme me tjetren, kjo behet pkerisht ne saje te gjysem kolonave qe lejojn me shume se 2 DB sql ...
DISTINCT
Me ane te kesaj komande, ne i themi DB te selektoj vetem te dhena qe jane te
ndryshme nga njera-tjetra
PSH
nese ne i drejtojm nji query(pyetje) DB te lloit:
SELECT Members FROM names
Atehere nese ne kemi 2 akonte
do na ktheje nji pergjigje te tille
init-6
init-6
Agroni
Beni
Qaniu (lolz)
Ndersa nese ne e modifikojm queryn me DISTINCT atehere c'fare ndodh?
DB do te na pergjigjet me emrat por kesaj rradhe pa e perseritur emrin init-6
Dhe do na pergjigjet me :
init-6
Agroni
Beni
Qaniu
**************************************************  ***********************
**************************************************  ***********************
WHERE sintaksa
WHERE eshte nji komand e cila mund ti shtohet komandes SELECT
Dhe kjo komand sherben per te specifikuar akom me shume te dhenat qe po kerkojm.
Psh
SELECT column FROM table WHERE column = 6
KERKO rresht NGA tabela KU rreshtat = 6
Mund te perdoren edhe keto komanda
=  baraz
<> Jo e barabart pra perdoret <>
< me e vogel
> me e madhe
<= me e vogel ose e barabart
>= me e madhe ose e barabart
BETWEEN ndermjet
LIKE  si pra krahasim, e krahason me nji te dhene tjeter
IN = NE pra tek...
Ne mund te perdorim edhe kuata (quotes)
gjate perdorimit te WHERE
Ja nji shembull
SELECT * FROM users WHERE id < 6
I kemi then:
Selekto * (gjithcka) nga users Ku id eshte me e vogel se 6
Ne rast tjeter nese duhet te jemi me specifik ne japim komanden
SELECT * FROM users WHERE id = 1
Dhe ne kete rast kemi synuar id e adminit..
-----------------------------------------------------------------------
Te perdorim LIKE
Gjat perdorimit te kesaj komande, neve do te na duhet qe te krahasojm nji te dhene me nji tjeter, por zakonisht neve nuk e mbajm mend te dhenen qe duhet te krahasojm dhe ketu na hyn ne pune %
Me ane te % ne mund te zevendesojm fjalen apo simbolin qe nuk mbajm mend ne queryn tone
PSh
SELECT * FROM Persons WHERE Lastname LIKE 'a%%'
Ne kete rast neve mbajm mend vetem se me c'fare fillon mbiemri..
SELECT * FROM Persons WHERE FirstName LIKE '%la%'
Ja dhe nji rast tjeter..
**************************************************  **********************
**************************************************  **********************
INSERT INTO
Kjo komand sherben per te futur (insert) pra krijuar rreshta te rinj ne nje tabele,
Dhe ka kete sintaks
INSERT INTO emri_tabeles VALUES (vlera1, vlera2, vlera3....)
Psh, neve kemi krijuar nji tabele te re me emrin mbiemrat dhe tani duam te regjostrojm mbiemra ne ate tabel
Dhe mjafton te egzekutojm kete komand per tja arritur qellimit tone
INSERT INTO mbierma VALUES (turani, berati, elezi, hoxha, etj etj)
**************************************************  ***********************
**************************************************  ***********************
UPDATE
Kjo komand sherben per te modifikuar nje te dhene te vjeter ne nje tabel me nje te re, pra ben update, e axhornon.
Sintaksa
UPDATE emritabeles SET emri_rreshtit = vlera_te_reja
WHERE emri_rreshtit = vlera
Psh, neve duam qe, useri i adminit, nga lamer te behet init-6  xD
Dhe japim kete komand
UPDATE users SET admin = init-6 WHERE admin = lamer
Tabela = users rreshti = admin dhe vlera = init-6, neve e ndryshuam vleren nga lamer ne init-6
**************************************************  ***********************
**************************************************  ***********************
DELETE
Kjo komand sherben per te eliminuar tabela dhe rreshta.
Sintaksa:
DELETE FROM emri_tabeles WHERE emri_rreshtit = vlera_te_ndryshme
Ne rastin konkret,
Neve kemi te instaluar ne hostin tone nji forum vBulletin dhe duam qe te fshijm akontin e nji useri, dhe shkojm normalisht tek delete accounts dhe klikojm tek delete dhe akonti qe donim te fshinim u fshi.
Por c'fare ndodh ne realitet?
vBulletin eshte ne PHP dhe forumi eshte i lidhur me DB sql dhe ne momentin qe neve klikojm mbi DELETE, vBulletin egzekuton pikerisht nji komand te caktuar mbi DB,
Psh, ne duam te fshijm nga forumi yn akontin "prova"
Ajo komand qe egzekuton vBulletin ne kete rast kur fshijm kete akont eshte pikerisht
DELETE FROM accounts WHERE username = prova
dhe ne momentin qe egzekutohet kjo komand atehere edhe tek akontet (eshte tabel) fshihet edhe kjo vlere e quajtur prova.
Mund te fshim edhe rreshta te tere 
PSH
DELETE * FROM recyclebin
**************************************************  **********************
**************************************************  **********************

----------

