SQL – Składnia poleceń i operacje na bazie danych

1. Składnia poleceń SQL

SQL dzieli się na trzy grupy poleceń:
DDL – definiuje strukturę bazy danych
DML – operuje danymi w tabelach
DCL – zarządza uprawnieniami użytkowników

2. Tworzenie i modyfikacja tabel (DDL)

Używamy poleceń CREATE, ALTER i DROP.
CREATE TABLE Uczniowie (
    id_ucznia INT AUTO_INCREMENT PRIMARY KEY,
    imie VARCHAR(30),
    nazwisko VARCHAR(30),
    klasa VARCHAR(10),
    srednia DECIMAL(3,2)
);
Tabela z PRIMARY KEY i kolumnami ucznia. AUTO_INCREMENT nadaje numer automatycznie.
ALTER TABLE Uczniowie ADD COLUMN data_urodzenia DATE;
ALTER TABLE pozwala dodać kolumnę bez usuwania danych.
DROP TABLE Uczniowie;
DROP TABLE usuwa tabelę. Używaj ostrożnie, najlepiej z IF EXISTS.

3. Wyszukiwanie informacji (SELECT, JOIN)

SELECT * FROM Uczniowie;
Gwiazdkę stosujemy głównie do testów. Lepiej wybierać konkretne kolumny.
SELECT imie, nazwisko FROM Uczniowie WHERE klasa = '4TI';
WHERE filtruje dane; brak WHERE zwraca wszystkie rekordy.
SELECT Uczniowie.imie, Klasy.wychowawca
FROM Uczniowie
JOIN Klasy ON Uczniowie.klasa = Klasy.symbol;
JOIN łączy tabele. Warunek łączenia trafia do ON.

4. Aktualizacja danych i transakcje

INSERT INTO Uczniowie (imie, nazwisko, klasa, srednia)
VALUES ('Jan', 'Nowak', '3TI', 4.25);
INSERT dodaje rekord do tabeli.
UPDATE Uczniowie SET srednia = 4.5 WHERE id_ucznia = 1;
UPDATE modyfikuje dane określone WHERE.
DELETE FROM Uczniowie WHERE klasa = '2TI';
DELETE usuwa rekordy spełniające warunek WHERE.
START TRANSACTION;
UPDATE Konta SET saldo = saldo - 100 WHERE id = 1;
UPDATE Konta SET saldo = saldo + 100 WHERE id = 2;
COMMIT;
Transakcja zapewnia, że wszystkie zmiany zostaną zatwierdzone razem; w razie błędu można użyć ROLLBACK.

5. Widoki i automatyzacja SQL

CREATE VIEW IT_Pracownicy
AS SELECT * FROM Pracownicy WHERE dzial='IT';
Widok działa jak zapisane zapytanie; ułatwia odczyt i automatyzację.