Wprowadzenie do SQL – Podgrupy Języka SQL

1. Wprowadzenie do SQL

Structured Query Language (SQL) to język zapytań służący do zarządzania bazami danych. SQL pozwala na tworzenie, modyfikowanie oraz pobieranie danych z baz danych. Jest standardem w relacyjnych systemach zarządzania bazami danych (RDBMS) i działa w systemach takich jak MySQL, PostgreSQL, Microsoft SQL Server, Oracle czy SQLite.

SQL składa się z kilku podgrup języka, które określają różne aspekty operacji na danych i strukturze bazy. Każda podgrupa odpowiada za konkretne funkcje, takie jak manipulacja danymi, kontrola dostępu czy definiowanie struktury tabel.


2. Podgrupy SQL

SQL można podzielić na pięć głównych podgrup:

  1. DDL (Data Definition Language) – Język Definicji Danych
  2. DML (Data Manipulation Language) – Język Manipulacji Danymi
  3. DQL (Data Query Language) – Język Zapytania Danych
  4. TCL (Transaction Control Language) – Język Kontroli Transakcji
  5. DCL (Data Control Language) – Język Kontroli Dostępu

2.1. DDL (Data Definition Language) – Język Definicji Danych

DDL to zestaw poleceń służących do definiowania i zarządzania strukturą bazy danych, czyli tabelami, indeksami, widokami oraz schematami. Za pomocą DDL można tworzyć, modyfikować i usuwać elementy bazy danych.

🔹 Najważniejsze polecenia DDL:

  • CREATE – tworzenie obiektów (np. tabel, widoków, indeksów)
  • ALTER – modyfikowanie struktury istniejących tabel
  • DROP – usuwanie obiektów bazy danych
  • TRUNCATE – szybkie usunięcie wszystkich rekordów w tabeli, bez możliwości przywrócenia

💡 Przykład:

CREATE TABLE Klienci (
    ID INT PRIMARY KEY,
    Imie VARCHAR(50),
    Nazwisko VARCHAR(50),
    Email VARCHAR(100)
);

To zapytanie tworzy tabelę Klienci z czterema kolumnami.


2.2. DML (Data Manipulation Language) – Język Manipulacji Danymi

DML zawiera polecenia pozwalające na dodawanie, modyfikowanie i usuwanie danych w tabelach. DML wpływa na zawartość bazy, ale nie zmienia jej struktury.

🔹 Najważniejsze polecenia DML:

  • INSERT – dodawanie nowych rekordów
  • UPDATE – modyfikowanie istniejących danych
  • DELETE – usuwanie danych

💡 Przykład:

INSERT INTO Klienci (ID, Imie, Nazwisko, Email)
VALUES (1, 'Jan', 'Kowalski', 'jan.kowalski@example.com');

To zapytanie dodaje nowego klienta do tabeli Klienci.


2.3. DQL (Data Query Language) – Język Zapytania Danych

DQL pozwala na pobieranie danych z tabel i wyświetlanie wyników. W SQL istnieje jedno podstawowe polecenie DQL – SELECT, które pozwala na wyszukiwanie i filtrowanie danych według określonych warunków.

🔹 Najważniejsze polecenie DQL:

  • SELECT – pobieranie danych z tabel

💡 Przykład:

SELECT Imie, Nazwisko FROM Klienci WHERE ID = 1;

To zapytanie pobiera imię i nazwisko klienta o ID = 1.


2.4. TCL (Transaction Control Language) – Język Kontroli Transakcji

TCL zawiera polecenia pozwalające zarządzać transakcjami w bazie danych. Transakcja to zbiór operacji wykonywanych w jednym logicznym bloku, który można zatwierdzić lub anulować.

🔹 Najważniejsze polecenia TCL:

  • COMMIT – zatwierdzenie transakcji (zmiany stają się trwałe)
  • ROLLBACK – cofnięcie transakcji (anulowanie wprowadzonych zmian)
  • SAVEPOINT – tworzenie punktu kontrolnego w transakcji

💡 Przykład:

BEGIN TRANSACTION;
UPDATE Klienci SET Email = 'nowy.email@example.com' WHERE ID = 1;
ROLLBACK; -- Cofnięcie zmian

To zapytanie najpierw rozpoczyna transakcję, zmienia e-mail klienta, ale następnie cofa zmiany przy użyciu ROLLBACK.


2.5. DCL (Data Control Language) – Język Kontroli Dostępu

DCL służy do zarządzania uprawnieniami użytkowników i kontrolowania dostępu do danych w bazie.

🔹 Najważniejsze polecenia DCL:

  • GRANT – przyznanie uprawnień użytkownikowi
  • REVOKE – cofnięcie nadanych uprawnień

💡 Przykład:

GRANT SELECT, INSERT ON Klienci TO Uzytkownik1;

To zapytanie pozwala użytkownikowi Uzytkownik1 odczytywać i dodawać dane do tabeli Klienci.


3. Podsumowanie

  • DDL – zarządza strukturą bazy danych (CREATE, ALTER, DROP, TRUNCATE).
  • DML – służy do manipulacji danymi (INSERT, UPDATE, DELETE).
  • DQL – odpowiada za pobieranie danych (SELECT).
  • TCL – zarządza transakcjami (COMMIT, ROLLBACK, SAVEPOINT).
  • DCL – kontroluje uprawnienia użytkowników (GRANT, REVOKE).

Język SQL jest wszechstronny i pozwala zarówno na zarządzanie strukturą bazy, jak i na manipulację danymi. W kolejnych lekcjach zagłębimy się w szczegóły poszczególnych grup i nauczymy się, jak praktycznie wykorzystywać SQL w bazach danych. 🚀