SQL naredbe: DML, DDL, DCL, TCL, DQL s primjerom upita
ล 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 svoj standardni jezik baze podataka. Programski jezik SQL koristi razliฤite naredbe za razliฤite operacije. Na primjerima ฤemo nauฤiti o sliฤnim DCL, TCL, DQL, DDL i DML naredbama u SQL-u.
Zaลกto koristiti SQL?
Ovdje su vaลพni razlozi za koriลกtenje SQL-a
- Pomaลพe korisnicima da pristupe podacima u RDBMS sustav.
- Pomaลพe vam da opiลกete podatke.
- Omoguฤuje vam da definirate podatke u bazi podataka i manipulirate tim specifiฤnim podacima.
- Uz pomoฤ SQL naredbi u DBMS-u moลพete kreirati i ispuลกtati baze podataka i tablice.
- SQL vam nudi koriลกtenje funkcije u bazi podataka, stvaranje pogleda i pohranjene procedure.
- 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 Structured Query Language.
- 1978 - IBM izdao je proizvod pod nazivom System/R.
- 1986 - IBM razvio prototip relacijske baze podataka, koju je standardizirao ANSI.
- 1989. - Lansirana prva verzija SQL-a
- 1999. โ Lansiran SQL 3 sa znaฤajkama kao ลกto su okidaฤi, orijentacija na objekte itd.
- SQL2003- funkcije prozora, znaฤajke povezane s XML-om itd.
- SQL2006- Podrลกka za XML Query Language
- SQL2011 poboljลกana podrลกka za vremenske baze podataka
Vrste SQL-a
Evo pet tipova naลกiroko koriลกtenih SQL upita.
- Jezik definicije podataka (DDL)
- Jezik za manipulaciju podacima (DML)
- Jezik kontrole podataka (DCL)
- Jezik kontrole transakcija (TCL)
- Jezik upita podataka (DQL)

Pogledajmo svaki od njih u detalje:
ล to je DDL?
Data Definition Language pomaลพe vam da definirate strukturu ili shemu baze podataka. Nauฤimo o DDL naredbama sa sintaksom.
Pet vrsta DDL naredbi u SQL-u su:
STVORITI
Naredbe CREATE koriste se za definiranje sheme strukture baze podataka:
Sintaksa:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);
Na primjer:
Create database university; Create table students; Create view for_students;
KAP
Drops naredbe uklanjaju 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 Alters omoguฤuje 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?
Data Manipulation Language (DML) omoguฤuje izmjenu instance baze podataka umetanjem, mijenjanjem i brisanjem njezinih podataka. Odgovoran je za izvoฤenje svih vrsta izmjena podataka u bazi podataka.
Postoje tri osnovne konstrukcije koje programu baze podataka i korisniku omoguฤuju unos podataka i informacija su:
Evo nekoliko vaลพnih DML naredbi u SQL-u:
- INSERT
- UPDATE
- DELETE
INSERT
Ovo je izjava SQL upit. Ova se naredba koristi za umetanje podataka u redak 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 davanje "prava i dopuลกtenja". Ostale dozvole kontroliraju parametre sustava baze podataka.
Primjeri DCL naredbi
Naredbe koje dolaze pod DCL:
- Grant
- Revoke
Grant
Ova se naredba koristi za davanje privilegija korisniฤkog 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
Korisno je podrลพati dopuลกtenja 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 kontrole transakcija ili TCL naredbe bave se transakcijama unutar baze podataka.
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 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 da postavite toฤku spremanja unutar transakcije.
Sintaksa:
SAVEPOINT SAVEPOINT_NAME;
Primjer:
SAVEPOINT RollNo;
ล to je DQL?
Data Query Language (DQL) koristi se za dohvaฤanje podataka iz baze podataka. Koristi samo jednu naredbu:
SELECT
Ova naredba vam pomaลพe odabrati atribut na temelju uvjeta opisanog WHERE klauzulom.
Sintaksa:
SELECT expressions FROM TABLES WHERE conditions;
Na primjer:
SELECT FirstName FROM Student WHERE RollNo > 15;
Rezime
- SQL je jezik baze podataka dizajniran za dohvaฤanje i upravljanje podacima u relacijskoj bazi podataka.
- Pomaลพe korisnicima pristup podacima u RDBMS sustavu
- Godine 1974. pojavio se pojam Structured Query Language
- Pet vrsta SQL upita su 1) Data Definition Language (DDL) 2) Data Manipulation Language (DML) 3) Data Control Language (DCL) 4) Transaction Control Language (TCL) i 5) Data Query Language (DQL)
- Data Definition Language (DDL) vam pomaลพe da definirate strukturu ili shemu baze podataka.
- Data Manipulation Language (DML) omoguฤuje izmjenu instance baze podataka umetanjem, mijenjanjem i brisanjem njezinih podataka.
- DCL (Data Control Language) ukljuฤuje naredbe poput GRANT i REVOKE, koje su korisne za davanje "prava i dopuลกtenja".
- Jezik kontrole transakcija ili TCL naredbe bave se transakcijama unutar baze podataka.
- Data Query Language (DQL) koristi se za dohvaฤanje podataka iz baza podataka.
