Tworzenie indeksu na kolumnie, aby przyspieszyć wyszukiwanie.
CREATE INDEX idx_klasa ON uczniowie(klasa);
Użycie wyrażeń regularnych do wyszukiwania uczniów, których nazwisko zaczyna się na literę 'K'.
SELECT * FROM uczniowie WHERE nazwisko REGEXP '^K';
Tworzenie procedury składowanej, która umożliwia dodanie nowego ucznia do bazy danych.
DELIMITER //
CREATE PROCEDURE DodajUcznia(IN imie VARCHAR(50), IN nazwisko VARCHAR(50), IN wiek INT, IN klasa VARCHAR(10))
BEGIN
INSERT INTO uczniowie (imie, nazwisko, wiek, klasa) VALUES (imie, nazwisko, wiek, klasa);
END //
DELIMITER ;
Przykład funkcji użytkownika, która zwraca średni wiek uczniów.
DELIMITER //
CREATE FUNCTION ObliczSredniWiek() RETURNS DECIMAL(5,2)
BEGIN
DECLARE wynik DECIMAL(5,2);
SELECT AVG(wiek) INTO wynik FROM uczniowie;
RETURN wynik;
END //
DELIMITER ;
Użycie transakcji do przeprowadzania kilku operacji w jednej jednostce. Jeśli którakolwiek operacja nie powiedzie się, cała transakcja zostanie wycofana.
START TRANSACTION;
UPDATE uczniowie SET wiek = wiek + 1 WHERE klasa = '3A';
DELETE FROM uczniowie WHERE wiek > 18;
COMMIT;
Optymalizacja zapytania poprzez użycie indeksów, aby przyspieszyć operacje wyszukiwania.
EXPLAIN SELECT * FROM uczniowie WHERE klasa = '2A';
Tworzenie raportu pokazującego średnią ocenę z przedmiotów w każdej klasie.
SELECT klasa, AVG(ocena) AS srednia_ocena FROM oceny GROUP BY klasa;