REVOKE to polecenie języka SQL należące do grupy DCL (Data Control Language). Służy do odbierania użytkownikom uprawnień do baz danych, tabel lub konkretnych operacji.
Składnia
REVOKE uprawnienie1, uprawnienie2
ON baza.tabela
FROM 'uzytkownik'@'host';
W MySQL użytkownik jest zapisywany razem z hostem, np. 'redaktor'@'localhost'. Oznacza to użytkownika redaktor, który łączy się lokalnie z serwera bazy danych.
Przykład z egzaminu
REVOKE SELECT, UPDATE ON gazeta.* FROM 'redaktor'@'localhost';
To zapytanie odbiera użytkownikowi redaktor uprawnienia:
SELECT— przeglądanie, czyli odczytywanie danych,UPDATE— modyfikowanie istniejących danych,ON gazeta.*— we wszystkich tabelach bazygazeta,FROM 'redaktor'@'localhost'— wskazanemu użytkownikowi.
REVOKE a GRANT
GRANT nadaje uprawnienia, a REVOKE je odbiera.
GRANT SELECT ON gazeta.* TO 'redaktor'@'localhost';
REVOKE SELECT ON gazeta.* FROM 'redaktor'@'localhost';
W pytaniach egzaminacyjnych trzeba zwracać uwagę na czasownik: jeśli administrator ma cofnąć lub odebrać uprawnienia, poprawnym poleceniem jest REVOKE, a nie GRANT.
Częsty błąd
Uprawnienie ALTER dotyczy zmiany struktury tabeli, np. dodawania kolumn. Nie oznacza modyfikacji danych w rekordach. Do modyfikacji danych służy UPDATE.