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.

  • 🏗️ DDL: CREATE, DROP, ALTER i TRUNCATE definiraju i mijenjaju shemu tablica i baza podataka.
  • ✏️ DML: INSERT, UPDATE i DELETE mijenjaju retke unutar tablice.
  • 🔑 DCL: GRANT i REVOKE daju i uklanjaju privilegije pristupa objektima baze podataka.
  • 🔄 TCL: COMMIT, ROLLBACK i SAVEPOINT kontroliraju kako se transakcije spremaju ili poništavaju.
  • 🔍 DQL: SELECT dohvaća retke, filtrirane pomoću klauzule WHERE.
  • 🗄️ Standardni jezik: Svaki glavni RDBMS, od MySQL do Oracle i SQL Server, koristi SQL.
  • ⚠️ Ključni kontrast: TRUNCATE i DELETE obje brišu retke, ali TRUNCATE je DDL i ne briše redak po redak.

SQL naredbe DQL DDL DML DCL TCL

Š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)
Vrste SQL naredbi
Vrste SQL-a

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.

Pitanja i odgovori

DELETE je DML naredba koja uklanja odabrane retke i može se vratiti. TRUNCATE je DDL naredba koja uklanja sve retke odjednom, brža je i obično se ne može vratiti.

Pripadaju jeziku za kontrolu podataka ili DCL-u. GRANT daje korisniku privilegije na objektu baze podataka, a REVOKE oduzima te privilegije, što zajedno kontrolira pristup i sigurnost.

Da. Modeli pretvaranja teksta u SQL pretvaraju zahtjev prirodnog jezika u SELECT ili neku drugu naredbu prema poznatoj shemi. Uvijek pregledajte generirani upit prije nego što ga pokrenete na produkcijskim podacima.

Da. Čitanjem plana izvršenja, umjetna inteligencija može predložiti indeks, prepisani spoj ili promjenu WHERE koja smanjuje troškove. Prijedlog treba testirati, budući da najbrži plan ovisi o podacima.

DDL definira ili mijenja strukturu baze podataka, kao što su tablice i stupci. DML mijenja podatke koji se nalaze unutar te strukture putem INSERT, UPDATE i DELETE. Struktura naspram sadržaja je ključna razlika.

Sažmite ovu objavu uz: