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
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ę.