Przejdź do głównej treści

GRANT w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

GRANT to polecenie z grupy DCL (Data Control Language), służące do nadawania użytkownikom uprawnień do baz danych, tabel, widoków lub konkretnych operacji.

W MySQL typowa składnia wygląda następująco:

GRANT uprawnienie ON obiekt TO 'uzytkownik'@'host';

Przykład

GRANT SELECT ON hurtownia.* TO 'sprzedawca'@'localhost';

To polecenie oznacza, że użytkownik sprzedawca, logujący się z hosta localhost, otrzymuje prawo SELECT, czyli możliwość odczytu danych.

Fragment:

hurtownia.*

oznacza wszystkie tabele w bazie danych hurtownia. Gwiazdka * nie oznacza tutaj wszystkich pól jednej tabeli, lecz wszystkie obiekty danego poziomu, w tym przypadku wszystkie tabele w wybranej bazie.

Poziomy nadawania uprawnień

  • *.* — wszystkie bazy i wszystkie tabele,
  • hurtownia.* — wszystkie tabele w bazie hurtownia,
  • hurtownia.produkty — jedna tabela produkty w bazie hurtownia,
  • SELECT (nazwa, cena) — wybrane kolumny, jeśli system obsługuje taki zapis.

Częste uprawnienia

  • SELECT — odczyt danych,
  • INSERT — dodawanie rekordów,
  • UPDATE — modyfikowanie rekordów,
  • DELETE — usuwanie rekordów,
  • ALL PRIVILEGES — wszystkie dostępne uprawnienia.

GRANT jest używane przez administratora bazy danych do kontrolowania, kto i w jakim zakresie może korzystać z danych.