SQL

Ang SQL (Structured Query Language) ay isang wikang pamprograma na ginagamit sa pamamahala ng data sa isang relasyonal na sistemang database. Ang pamamahala sa data ay kinabibilangan ng pagpasok ng data(insert), kweri(query) o pagtingin sa data, pagbabago ng data(update), pagbura ng data(delete), paglikha ng mga tabla at skema at pagbibigay karapatan sa mga manggagamit ng database at iba pa. 

Mga ginagamit na instruksiyon
Paglikha ng tabla
Ang instruksiyon na ginagamit sa paglikha ng tabla ng isang database ay:
CREATE TABLE Estudyante(
    ID   INT,
    Pangalan  VARCHAR(50),
    Tirahan VARCHAR(50),
    PRIMARY KEY (ID)
);
Ang tablang Estudyante ay nilikha na may mga kolumn na ID, pangalan, at petsa kung saan ang pangunahing susi(primary key) ay ang ID.
Pagpasok
Upang lagyan ng data ang tablang nilikha, ang sumusunod na instruksiyon ay ginagamit:

INSERT INTO Estudyante
        (ID, Pangalan, Tirahan)
    VALUES
        (102, Juan dela Cruz , 222 Maligaya St. Lungsod Quezon);

INSERT INTO Estudyante
        (ID, Pangalan, Tirahan)
    VALUES
        (202, Jose Santos  , 333 Masagana St. Tondo);

INSERT INTO Estudyante
        (ID, Pangalan, Tirahan)
    VALUES
        (104, Michael Reyes ,  444 Mahusay St. Paranaque);

INSERT INTO Estudyante
        (ID, Pangalan, Tirahan)
    VALUES
        (152, Lisa Aquino  , 555 Masinop St. Makati);

Pagkatapos mapasok ang apat na row ng data, ang resulta ng tabla ay:

 ID   Pangalan  Tirahan  102  Juan dela Cruz  222 Maligaya St. Lungsod Quezon 202  Jose Santos  333 Masagana St. Tondo  104  Michael Reyes  444 Mahusay St. Paranaque 152  Lisa Aquino   555 Masinop St. Makati
Kweri(Query)
Ang instuksiyong SELECT ay ginagamit sa pagtingin ng row sa isang tabla. Ang SELECT ay nagbabalik ng lahat ng row sa isang tabla. Upang salain ang mga row ayon sa isang kriteria, ang SELECT * ay ginagamitan ng mga argumento gaya ng sumusunod: 
SELECT *
    FROM Estudyante
    WHERE Pangalan="Juan dela Cruz";

Ang row lamang ng estudyante na nasa tablang "Estudyante" ang ipapakita kung ito ay may pangalan na Juan dela Cruz.

Pagbabago
Upang baguhin ang field(column), ang instruksiyon ay sumusunod:
UPDATE Estudyante
    SET Tirahan = "212 Bayani St. Bulacan"
    WHERE ID=102
Ang resulta ay pagbabago ng tirahan ng estudyanteng may ID na 102 sa "212 Bayani St. Bulacan".
Ang resulta ng tabla pagkatapos ng pagbabago ay:
 ID  Pangalan  Tirahan 102  Juan dela Cruz  212 Bayani St. Bulacan 202  Jose Santos  333 Masagana St. Tondo  104  Michael Reyes  444 Mahusay St. Paranaque 152  Lisa Aquino   555 Masinop St. Makati

Pagbura
DELETE FROM Estudyante
    WHERE Pangalan="Juan dela Cruz";
Ang estudyanteng si Juan dela Cruz ay binura sa tabla. Ang resulta ng tabla ay: 
 ID  Pangalan   Tirahan  202  Jose Santos  333 Masagana St. Tondo Manila 104  Michael Reyes  444 Mahusay St. Paranaque 152  Lisa Aquino   555 Masinop St. Makati

Pagdudugtong(Join)
Ang Join(gaya ng INNER JOIN, OUTER JOIN, at iba pa) ay ginagamit upang pagdugtungin ang dalawang tabla. Halimbawa, ang dalawang tablang Estudyante at Pagsusulit ay mapagdudugtong gamit ang pagdudugtong ng pangunahing susi ng Estudyante sa dayuhang susi ng Pagsusulit.

Lumikha ng bagong tablang Pagsusulit:
CREATE TABLE Pagsusulit(
   ID  INT NOT NULL,
   Marka       INT,
   Asignatura  VARCHAR(20)
   CONSTRAINT  Pagsusulit PRIMARY KEY (PagsusulitID),
   CONSTRAINT FK_Pagsusulit FOREIGN KEY (EstudyanteID)
              REFERENCES Estudyante(EstudyanteID)
)TYPE = InnoDB;

Lagyan ng data:

INSERT INTO Pagsusulit
        (ID, Marka, PagsusulitID)
    VALUES
        (202, 90, 233);

INSERT INTO Pagsusulit
        (EstudyanteID, Marka, PagsusulitID)
    VALUES
        (202, 100, 444);

INSERT INTO Pagsusulit
        (EstudyanteID, Marka,PagsusulitID)
    VALUES
        (104, 98, 111);

INSERT INTO Pagsusulit
        (EstudyanteID, Marka, PagsusulitID)
    VALUES
        (152, 98, 111);

Ang resulta ng tablang Pagsusulit ay:

 EstudyanteID Marka  PagsusulitID 202 90  233 202  100  444 104  98   111 152  98  111

Pagdugtungin ang dalawang tabla:

   SELECT  Estudyante.ID as EstudyanteID, Estudyante.Pangalan AS Pangalan, Pagsusulit.Marka AS Marka, Pagsusulit.PagsusulitID AS PagsusulitID
     FROM Estudyante
      INNER JOIN Pagsusulit
      ON Estudyante.ID = Pagsusulit.EstudyanteID

Ang resulta ay:

 EstudyanteID Pangalan  Marka  PagsusulitID 202  Jose Santos  90  233 202  Jose Santos  100  444 104  Michael Reyes   98  111 152  Lisa Aquino   98  111

Pagbura ng tabla
Upang burahin ang mga tablang Estudyante at Pagsusulit sa database, ang instruksiyon ay:
DROP Estudyante, Pagsusulit;

Kategorya:Database