DDL, DML, DQL, DCL, DTL vagy TCL

Bevezető

A fenti fogalmak az SQL parancsokat csoportosítják használatuk szerint. A következő felsorolásban nem lesz benne abszolút minden parancs és nem veszek figyelembe minden adatbázis-kezelőt, csak az általánosan és a legismertebbeket sorolom fel.

DDL – Data Definition Language

Ebbe a csoportba a különféle objektum manipulációs parancsok tartoznak. Ilyen például a create, alter, drop, attól függetlenül, hogy adatbázisra, sémára, táblára, tárolt eljárásra, vagy akármilyen másik SQL objektumra vonatkozik.

  • create: létrehozás
  • alter: módosítás/változtatás
  • drop: eldobás, törlés

Ide tartozik a truncate is, ami első ránézésre DML is lehetne, de mivel igazából nem adatokkal dolgozik, hanem konkrétan deallokál egy táblához tartozó területet és újraindítja az identity értékeket, ezért valóban inkább a DDL csoporthoz tartozik.

DML – Data Manipulation Language

Az adatokat manipuláló parancsok tartoznak ehhez a csoporthoz. Itt van az insert, delete, update, mint általános adat-kezelő parancsok.

  • insert: adat beillesztés
  • delete: adat eltávolítás
  • update: adat megváltoztatás

DQL – Data Query Language

Ide igazából egy parancs tartozik csak, viszont ez a leggyakrabban használt és a legismertebb: maga a select. Ha nem MSSQL-ről beszélünk, akkor a show is ide tartozik, ami mondjuk egy spéci select.

  • select: adat lekérdezése

DCL – Data Control Language

Ez a csoport a jogosultság-kezelő parancsokat, konkrétan a grant és remove csoportja.

  • grant: jogosultság megadása
  • revoke: jogosultság visszavonása

DTL – Data Transaction Language vagy TCL – Transactional Control Language

Meglepetésszerűen a tranzakció-kezeléshez tartozó parancsok vannak ebben a csoportban. Kétféleképpen is szokták nevezni, de mindkettő ugyanazt a pár parancsot jelzi: transaction begin, commit, rollback, save.

  • begin: elkezd egy tranzakciót
  • commit: véglegesít egy tranzakciót
  • rollback: visszavon egy tranzakciót és a bele foglalt változtatásokat
  • save: egy savepointot hoz létre a tranzakción belül, amivel annak egy részét is visszavonhatjuk

Amiket felsoroltam természetesen MSSQL alapúak, más rendszerekben esetleg máshogyan hívják (például savepoint vagy set).