MySQL
Wyszukiwarka
Wprowadzenie do MySQL
Tworzenie i modyfikowanie tabel
- Zapytanie CREATE: Tworzenie tabeli
- Instrukcja ALTER: Modyfikacja tabeli
- Zapytanie DROP: Usuwanie tabeli
Zapytania pobierające dane
- Zapytanie SELECT: Podstawy
- Zapytanie SELECT: Klauzula WHERE
- Zapytanie SELECT: Sortowanie danych (ORDER BY)
- Zapytanie SELECT: Filtrowanie danych (LIKE, IN, BETWEEN)
Zapytania modyfikujące dane
- Zapytanie INSERT: Dodawanie danych
- Zapytanie UPDATE: Aktualizacja danych
- Zapytanie REPLACE: Zastępowanie danych
Zapytania usuwające dane
Złączenia i relacje
- Podstawy złączeń (JOIN): INNER JOIN
- Zewnętrzne złączenia (OUTER JOIN)
- Złączenia CROSS JOIN i SELF JOIN
- Tworzenie relacji między tabelami
Funkcje agregujące i grupowanie
- Funkcje agregujące: COUNT, SUM, AVG
- Grupowanie danych: GROUP BY i HAVING
- Zapytania z funkcjami MAX i MIN
Zarządzanie użytkownikami
- Tworzenie nowego użytkownika
- Przydzielanie uprawnień użytkownikom
- Usuwanie użytkowników i cofanie uprawnień
- Zarządzanie hasłami użytkowników
Zaawansowane funkcje MySQL
- Transakcje w MySQL: BEGIN, COMMIT, ROLLBACK
- Tworzenie widoków (VIEWS)
- Procedury składowane: Tworzenie i wywoływanie
- Funkcje użytkownika (USER FUNCTIONS)
Procedury składowane: Tworzenie i wywoływanie
Procedury składowane w MySQL to zapytania SQL zapisane w bazie danych, które można wywoływać wielokrotnie. Dzięki nim możemy zdefiniować logikę aplikacji, zoptymalizować wykonywanie operacji oraz zwiększyć bezpieczeństwo aplikacji. W tym artykule przedstawimy, jak tworzyć i wywoływać procedury składowane w MySQL.
📌 Podstawowa składnia tworzenia procedury składowanej
✅ Podstawowa składnia - opis
- CREATE PROCEDURE: Służy do tworzenia nowej procedury.
- nazwa_procedury(): Określa nazwę procedury oraz jej parametry (jeśli są wymagane).
- BEGIN ... END: Definiuje blok kodu, który będzie wykonywany przez procedurę.
- DELIMITER ;: Przywraca domyślny separator komend po zakończeniu tworzenia procedury.
Przykład
DELIMITER $$
CREATE PROCEDURE pokaz_uzytkownikow()
BEGIN
SELECT id, username, email FROM users;
END $$
DELIMITER ;
📌 Wywoływanie procedury składowanej
✅ Podstawowa składnia - opis
- Komenda CALL służy do wywołania wcześniej zdefiniowanej procedury składowanej.
Przykład
-- Podstawowa składnia
CALL nazwa_procedury();
-- Przykład: Wywołanie procedury pokaz_uzytkownikow
CALL pokaz_uzytkownikow();
📌 Procedura składowana z parametrami
✅ Podstawowa składnia z parametrami
- Możemy przekazać parametry do procedury, które będą używane w zapytaniu SQL wewnątrz procedury.
Przykład
-- Podstawowa składnia
DELIMITER $$
CREATE PROCEDURE nazwa_procedury(parametr1 INT)
BEGIN
SELECT * FROM tabela WHERE id = parametr1;
END $$
DELIMITER ;
-- Przykład: Procedura z parametrem id
DELIMITER $$
CREATE PROCEDURE pokaz_uzytkownika(IN user_id INT)
BEGIN
SELECT * FROM users WHERE id = user_id;
END $$
DELIMITER ;
📌 Wywołanie procedury składowanej z parametrami
✅ Podstawowa składnia wywołania procedury z parametrami:
- To zapytanie wywołuje procedurę pokaz_uzytkownika z parametrem 1, zwracając dane użytkownika o id równym 1.
Przykład
-- Podstawowa składnia wywołania procedury z parametrami:
CALL nazwa_procedury(parametr1);
-- Przykład wywołania procedury z parametrem user_id:
CALL pokaz_uzytkownika(1);
Podsumowanie
- Procedury składowane w MySQL umożliwiają zapisanie zapytań SQL w bazie, które mogą być wielokrotnie wywoływane, co pozwala na oszczędność czasu i zasobów.
- Procedury są definiowane za pomocą komendy CREATE PROCEDURE i mogą przyjmować parametry, które ułatwiają dynamiczne wykonywanie zapytań.
- Do wywoływania procedury służy komenda CALL.
- Procedury składowane pomagają w organizowaniu kodu SQL, sprawiają, że zapytania są bardziej zorganizowane i łatwiejsze do zarządzania.