GRANT oraz REVOKE – Kurs języka SQL (mySQL) cz. 1

Pierwsza część kursu języka SQL. Omówione zostały polecenia: GRANT i REVOKE, czyli tworzenie użytkownika oraz nadawanie i odbieranie uprawnień.

Pierwszym etapem tworzenia bazy danych jest stworzenie tabel w których przechowywane będą później wszelkie dane. Zanim jednak do tego przystąpimy niektóre serwery będą wymagały zalogowania się przy pomocy nazwy użytkownika i jego hasła. Możemy w tym przypadku korzystać z konta administratora skonfigurowanego podczas instalacji serwera baz danych. Innym rozwiązaniem jest utworzenie nowego użytkownika i dodanie go do bazy danych.

Powyższą czynność wykonamy przy użyciu polecenia GRANT, którego składnia jest następująca:

GRANT lista_praw_dostępu ON nazwa_tabeli TO nazwa_uzytkownika

Pole „lista_praw_dostępu” może zawierać jedno, lub kilka z poniższych uprawnień:

SELECT– odczytanie danych z tabeli
INSERT – wstawianie danych do tabeli
UPDATE – modyfikowanie danych w tabeli
DELETE – usunięcie danych z tabeli
REFERENCE – odwoływanie się do innych tabel
CREATE – tworzenie nowych tabel i baz danych
DROP – usuwanie tabel oraz baz danych
ALL PRIVILEGES – wszystkie dostępne uprawnienia

Pole „nazwa tabeli” określa tabelę do której przyznajemy uprawnienia użytkownikowi wskazanemu w „nazwa użytkownika”.

Przykład 1:

Utworzymy użytkownika o nazwie „biuro” któremu nadamy prawa tylko do odczytu, wstawiania oraz modyfikowania danych, a więc SELECT, INSERT, UPDATE dla tabeli o nazwie „klienci”.

GRANT SELECT, INSERT, UPDATE ON klienci TO biuro

Przykład 2:

Tworzymy użytkownika o nazwie „szef” któremu nadajemy wszelkie możliwe uprawnienia dla tabeli „klienci”.

GRANT ALL PRIVILEGES ON klienci TO szef

Przykład 3:

W pierwszym przykładzie utworzyliśmy użytkownika o nazwie „biuro” nadając mu prawa tylko do odczytu, wstawiania oraz modyfikowania danych w tabeli. Teraz chcielibyśmy aby mógł również usuwać dane z tabeli „klienci”.
W tym przypadku możemy ponownie skorzystać z polecenia GRANT podając nazwę wszystkich praw dla danego użytkownika.

GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO biuro

SQL umożliwia także odbieranie wcześniej nadanych uprawnień, a służy do tego polecenie REVOKE, którego składnia jest następująca:

REVOKE lista_praw_dostępu ON nazwa_tabeli FROM nazwa_uzytkownika

Przykład:

Stwierdziliśmy, iż użytkownik „biuro” nie powinien mieć możliwości wstawiania nowych danych do tabeli „klienci”. Należy więc usunąć mu prawo używania polecenia INSERT.

REVOKE INSERT ON klienci FROM biuro

13 comments to GRANT oraz REVOKE – Kurs języka SQL (mySQL) cz. 1

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *