SQL naredbe: DQL, DDL, DML, DCL i TCL s primjerima
โก Pametni saลพetak
SQL naredbe su grupirane u pet podjezika koji upravljaju relacijskom bazom podataka. DDL definira strukturu, DML mijenja podatke, DCL kontrolira pristup, TCL upravlja transakcijama, a DQL dohvaฤa podatke, svaki sa svojim vlastitim skupom naredbi i sintaksom.

ล to je SQL?
SQL je jezik baze podataka dizajniran za dohvaฤanje i upravljanje podacima u relacijskoj bazi podataka.
SQL je standardni jezik za upravljanje bazom podataka. Svi RDBMS sustavi poput MySQL, MS Access, Oracle, Sybase, Postgres i SQL Server koriste SQL kao standardni jezik za baze podataka. Programski jezik SQL koristi razliฤite naredbe za razliฤite operacije. Uฤit ฤemo o naredbama DCL, TCL, DQL, DDL i DML u SQL-u s primjerima.
Zaลกto koristiti SQL?
Evo vaลพnih razloga za koriลกtenje SQL-a:
- Pomaลพe korisnicima pristupiti podacima u RDBMS sustav.
- Pomaลพe vam u opisivanju podataka.
- Omoguฤuje vam da definirate podatke u bazi podataka i manipulirate tim specifiฤnim podacima.
- Pomoฤu SQL naredbi moลพete stvarati i brisati baze podataka i tablice.
- SQL vam omoguฤuje koriลกtenje funkcija u bazi podataka te stvaranje prikaza i pohranjenih procedura.
- Moลพete postaviti dopuลกtenja za tablice, procedure i poglede.
Kratka povijest SQL-a
Ovdje su vaลพne znamenitosti iz povijest SQL-a:
- 1970. โ Dr. Edgar F. โTedโ Codd opisao je relacijski model za baze podataka.
- 1974. โ Pojavio se strukturirani jezik za upite, izvorno nazvan SEQUEL. IBM.
- 1979 - Oracle izdao prvu komercijalno dostupnu SQL bazu podataka, temeljenu na IBMistraลพivaฤki prototip System R.
- 1986. โ ANSI je objavio prvi SQL standard, SQL-86.
- 1989. โ SQL-89 stigao je kao prva revizija standarda.
- 1992. โ SQL-92 (SQL2) postao je glavna osnova na koju se i danas referira veฤina baza podataka.
- 1999. โ SQL:1999 (SQL3) pokrenut je sa znaฤajkama poput okidaฤa, rekurzivnih upita i objektne orijentacije.
- 2003. โ SQL:2003 dodao je prozorske funkcije, generatore nizova i znaฤajke povezane s XML-om.
- 2006. โ SQL:2006 dodao je podrลกku za XML jezik upita (XQuery).
- 2008. โ SQL:2008 uveo je naredbu TRUNCATE i okidaฤe INSTEAD OF.
- 2011. โ SQL:2011 je poboljลกao podrลกku za temporalne baze podataka.
- 2016. โ SQL:2016 dodao je podrลกku za JSON i usklaฤivanje uzoraka redaka (MATCH_RECOGNIZE).
- 2019. โ SQL/MDA (15. dio) standardu je dodao podrลกku za viลกedimenzionalne nizove.
- 2023. โ SQL:2023 dodao je nativni JSON tip podataka i upite za grafove svojstava (SQL/PGQ).
- 2024. โ GQL, prvi novi ISO jezik za baze podataka od SQL-a, objavljen je kao standard za upite za grafove.
- 2026. โ SQL:2023 ostaje trenutni standard, a sljedeฤa revizija je u razvoju u ISO/IEC-u.
Vrste SQL naredbi
Evo pet vrsta ลกiroko koriลกtenih SQL naredbi:
- Jezik definicije podataka (DDL)
- Jezik za manipulaciju podacima (DML)
- Jezik kontrole podataka (DCL)
- Transaction Control Language (TCL)
- Jezik upita podataka (DQL)

Donja tablica saลพima pet kategorija prije nego ลกto se svaka detaljno obradi.
| Kategorija | Svrha | Glavne naredbe |
|---|---|---|
| DDL | Definiraj strukturu | STVORI, ISPUSTI, PROMIJENI, SKRANI |
| DML | Izmijeni podatke | UMETNI, AลฝURIRAJ, IZBRIล I |
| DCL | Kontrolirajte pristup | ODOBRI, OPOZOVI |
| TCL | Upravljanje transakcijama | POTVRDI, VRATI, TOฤKA SPREMANJA |
| DQL | Dohvati podatke | SELECT |
ล to je DDL?
Jezik za definiranje podataka pomaลพe vam definirati strukturu ili shemu baze podataka. Upoznajmo se s DDL naredbama i sintaksom. Glavne DDL naredbe u SQL-u su CREATE, DROP, ALTER i TRUNCATE.
STVORITI
Naredba CREATE koristi se za definiranje strukture ili sheme baze podataka:
Sintaksa:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Na primjer:
Create database university; Create table students; Create view for_students;
KAP
Naredba DROP uklanja tablice i baze podataka iz RDBMS-a.
Sintaksa:
DROP TABLE ;
Na primjer:
Drop object_type object_name; Drop database university; Drop table student;
IZMIJENI
Naredba ALTER omoguฤuje vam promjenu strukture baze podataka.
Sintaksa: za dodavanje novog stupca u tablicu:
ALTER TABLE table_name ADD column_name COLUMN-definition;
Da biste izmijenili postojeฤi stupac u tablici:
ALTER TABLE MODIFY(COLUMN DEFINITION....);
Na primjer:
Alter table guru99 add subject varchar;
SKRATITI
Ova se naredba koristi za brisanje svih redaka iz tablice i oslobaฤanje prostora koji sadrลพi tablicu.
Sintaksa:
TRUNCATE TABLE table_name;
Primjer:
TRUNCATE table students;
ล to je jezik za manipulaciju podacima?
Jezik za manipulaciju podacima (DML) omoguฤuje vam izmjenu instance baze podataka umetanjem, izmjenom i brisanjem njezinih podataka. Odgovoran je za izvoฤenje svih vrsta izmjena podataka u bazi podataka. Vaลพne DML naredbe u SQL-u su:
- INSERT
- UPDATE
- DELETE
INSERT
Ova naredba se koristi za umetanje podataka u retke tablice.
Sintaksa:
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN); Or INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);
Na primjer:
INSERT INTO students (RollNo, FIrstName, LastName) VALUES ('60', 'Tom', Erichsen');
UPDATE
Ova se naredba koristi za aลพuriranje ili izmjenu vrijednosti stupca u tablici.
Sintaksa:
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]
Na primjer:
UPDATE students SET FirstName = 'Jhon', LastName= 'Wick' WHERE StudID = 3;
DELETE
Ova se naredba koristi za uklanjanje jednog ili viลกe redaka iz tablice.
Sintaksa:
DELETE FROM table_name [WHERE condition];
Na primjer:
DELETE FROM students WHERE FirstName = 'Jhon';
ล to je DCL?
DCL (Data Control Language) ukljuฤuje naredbe poput GRANT i REVOKE, koje su korisne za dodjeljivanje prava i dozvola. Ostale naredbe kontroliraju parametre sustava baze podataka.
Grant
Ova naredba se koristi za davanje korisniku privilegija pristupa bazi podataka.
Sintaksa:
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;
Na primjer:
GRANT SELECT ON Users TO'Tom'@'localhost;
Revoke
Ova naredba je korisna za vraฤanje dozvola od korisnika.
Sintaksa:
REVOKE privilege_nameON object_nameFROM {user_name |PUBLIC |role_name}
Na primjer:
REVOKE SELECT, UPDATE ON student FROM BCA, MCA;
ล to je TCL?
Jezik za upravljanje transakcijama ili TCL naredbe obraฤuju transakcije unutar baze podataka. One rade izravno sa stanjima opisanim u nastavku upravljanje transakcijama.
poฤiniti
Ova se naredba koristi za spremanje svih transakcija u bazu podataka.
Sintaksa:
Commit;
Na primjer:
DELETE FROM Students WHERE RollNo =25; COMMIT;
povrat na staro
Naredba Rollback omoguฤuje vam poniลกtavanje transakcija koje joลก nisu spremljene u bazu podataka.
Sintaksa:
ROLLBACK;
Primjer:
DELETE FROM Students WHERE RollNo =25;
TOฤKA SPREME
Ova naredba vam pomaลพe postaviti toฤku spremanja unutar transakcije.
Sintaksa:
SAVEPOINT SAVEPOINT_NAME;
Primjer:
SAVEPOINT RollNo;
ล to je DQL?
Jezik za upite podataka (DQL) koristi se za dohvaฤanje podataka iz baze podataka. Koristi samo jednu naredbu, SELECT.
SELECT
Ova naredba vam pomaลพe odabrati atribute na temelju uvjeta opisanog klauzulom WHERE.
Sintaksa:
SELECT expressions FROM TABLES WHERE conditions;
Na primjer:
SELECT FirstName FROM Student WHERE RollNo > 15;
IZBRIล I vs. SKRATI vs. ISPUSTI
Ove tri naredbe uklanjaju podatke, ali se razlikuju po tome ลกto uklanjaju i moลพe li se radnja poniลกtiti. Njihovo mijeลกanje je ฤesta poฤetniฤka pogreลกka.
| Aspekt | DELETE | SKRATITI | KAP |
|---|---|---|---|
| Kategorija | DML | DDL | DDL |
| Uklanja | Odabrani retci | Svi retci | Cijeli stol |
| WHERE klauzula | dopuลกteno | Nije dozvoljeno | Nije primjenjivo |
| povrat na staro | Moguฤ | Obiฤno ne | Nije moguฤe |
| Struktura saฤuvana | Da | Da | Ne |
Ukratko, koristite DELETE za uklanjanje odreฤenih redaka, TRUNCATE za brzo praลพnjenje tablice i DROP za potpuno odbacivanje tablice.
