Çka është SQL?

Përgatiti: Skender Mustafi

Hyrje

sql-databaseSQL (shqiptohet, nga anglishtja, “es-kju-el”) është shkurtesë nga anglishtja Structured Query Language që në shqip përkthehet si Gjuha e Strukturuar e Kërkimit. SQL shfrytëzohet për komunikim me bazën e të dhënave të cilat mund të ruajnë, redaktojnë dhe të grisin të dhënat. SQL gjithashtu definohet edhe si sistem për menaxhimin relativ të bazave të të dhënave. Për herë të parë u paraqit nga Edgar F. Cood në vitin 1970 në punimin e tij shkencor  “A Relational Model of Data for Large Shared Data Banks” (shqip: “Modeli Relativ i të Dhënave për Bazat e Mëdha të të Dhënave të Shpërndara”) (Cood, 1970).  Sisteme të njohura të llojit SQL janë: Oracle, Sybase, Microsoft SQL Server, Access, Ingres, e të tjera. Ajo që duhet theksuar në këtë pikë është fakti se çdo kompani e cila merret me programimin e sistemeve SQL të bazave përveç të dhënave standarde përcakton dhe të dhënat specifike të cilat zakonisht mund të shfrytëzohen vetëm tek sistemi i tyre.

Komandat

Komandat standarde përmes të cilave kryhen të gjitha operacionet në SQL janë:

  • “Select” (përzgjidh) – për të përzgjedhur të dhënat në bazë të gjuhës së paradefinuar relative
  • “Insert” (shto) – për të shtuar të dhënat në bazën e të dhënave
  • “Update” (fresko) – për të freskuar fushat e tabelës ekzistuese me informacione të reja
  • “Delete” (gris) – për të grisur të dhënat ekzistuese në tabelë
  • “Create” (krijo) – për të krijuar tabela të reja në bazën e të dhënave
  • “Drop” (largo) – për të grisur bazat e të dhënave nga sistemi i bazave të të dhënave

Operatorët

Operatorët janë shenjat përmes të cilave përcaktohen veprimet të cilat definohen për manipulimin me të dhënat në tabelë. Më poshtë janë paraqitur operatorët dhe përshkrimi i tyre  dhe nga një shembull i thjeshtë për të sqaruar kuptimin e secilit nga operatorët. Vini re: Operatorët të cilët në vete janë një fjal në anglisht nuk mund të përkthehen, por duhet të shfrytëzohen ashtu siç janë.

OperatoriPërshkrimiShembull
=e barabartë meFaqja = 'Fjalaime'
<>e pa barabartë me (në shumë raste shkruhet si !=)Reparti <> 'Marketing'
>Më i/e madh seDita_e_punësimit > '2012-01-31'
<Më i/e vogël seFitime < 50000.00
>=Më i/e madh ose e barabart sepunëtorë >= 2
<=Më i/e bogël ose e barabart senorma <= 0.05
BETWEENPërbrenda një tërësie të caktuarCost BETWEEN 100.00 AND 500.00
LIKEMatch a character patternFirst_Name LIKE 'Will%'
INështë njëjtë sikur një nga shumë zgjedhjetShitje IN (101, 103, 209)
IS or IS NOTKrahasimi me null (në mungesë të të dhënave)Numri_i_telefonit IS NOT NULL

 Operacione

Duke shfrytëzuar operatorët e paraqitur në tabelën më sipër mund të manipulojmë me të dhënat sipas dëshirës. Kështu mund të shkruajmë kode të cilët na mundësojmë që të ndërhymë në bazat e të dhënave për të ndryshuar ato pa pasur nevojë që të veprojmë drejtpërdrejtë tek bazat e të dhënave. Më poshtë po paraqesim disa shembuj të operacioneve në SQL:

Krijimi i tabelave
Krijimi i një tabele të thjeshtë për vizitorët e një restoranti. Emri dhe mbiemri janë çelësa primarë, që do të dhotë se tabela organizohet në vete dhe vepron me tabelat tjera në bazë të këtyre parametrave.

CREATE TABLE Vizitoret
(Emri VARCHAR(20) NOT NULL,
Mbiemri VARCHAR(20) NOT NULL,
Mosha NUMBER(4),
Rruga VARCHAR(20),
Qyteti VARCHAR(20) NOT NULL,
PRIMARY KEY (Emri, Mbiemri))ENGINE=InnoDB;

Leximi i të dhënave
Leximi i disa nga të dhënat e tabelës, mund të bëhet përmes kodit më poshtë. Kuptohet që sasia e të dhënave të cilat duam të i shpalosim nga tabela qëndron në vullnetin/nevojën tonë dhe ne përcaktojmë përmes kodit. Shembull:

leximi i të gjithë vizitorëve, moshës së tyre dhe qytetit nga i cili vijen

select Emri, Mbiemri, Mosha, Qyteti from Vizitoret
where Mosha > 18;

ose leximi i të gjithë vizitorëve nga Tirana

select Emri, Mbiemri, Qyteti from Vizitoret
where Qyteti = "Tirana";

ose leximi i të gjitha të dhënave nga tabela

select * from Vizitoret;

Shtimi i të dhënave
Të dhënat mund lehtë të shtohen tek tabelat ekzistuese tek baza e të dhënave si vijon:

INSERT INTO Vizitoret
(Emri, Mbiemri, Qyteti)
VALUES
('Skender', 'Mustafi', NULL);

Freskimi i të dhënave
Të dhënat mund të freskohen si vijon:

UPDATE Vizitoret
SET Emri = 'Durim'
WHERE Mbiemri = 'M';

Grisja e të dhënave
Të dhënat nga tabela mund të grisen si vijon:

DELETE FROM Vizitoret
WHERE Mbiemri = 'M';

Bashkimi i të dhënave
Me operacionin e bashkimit mund të kombinohen të dhënat e dy e më shumë tabelave të ndryshme.

MERGE INTO Vizitoret referena_e_tabeles ON (kushti sipas të cilit bëhet bashkimi)
WHEN MATCHED THEN
UPDATE SET Emri = "Skender" [, Mbiemri = "Mustafi" ...]
WHEN NOT MATCHED THEN
INSERT (Emri [, Mbiemri ...]) VALUES ("Skender" [, "Mustafi" ...

Referencat

Po këto i keni lexuar?