Příkazy DCL

DCL obsahuje mimo jiné příkazy, které umožňují správu uživatelů a jejich oprávnění na vytvořených databázích. Vytvoření uživatele, nastavení hesla a smazání uživatele provádíme následovně:

Aktuálně přihlášeného uživatele zobrazíme pomocí příkazu:

Jeho oprávnění zobrazíme pomocí příkazu:

Oprávnění přiřazujeme a odebíráme pomocí příkazů GRANT, resp. REVOKE:

GRANT ALL PRIVILEGES ON db24cerny . * TO "cerny.ma.2024"; příklad příkazu přidělující všechna oprávnění na databázi db24cerny uživateli „cerny.ma.2024“
GRANT SELECT ON db24cerny . * TO "bily.on.2024";příklad příkazu přidělující pouze jeden typ oprávnění na databázi db24cerny uživateli „bily.on.2024“

Základní typy oprávnění jsou:

ALL PRIVILEGESvšechna oprávnění
CREATEvytváření nových db tabulek či databázi
ALTERzměna struktury db tabulek
DROPvýmaz db tabulek či databází
DELETEvýmaz záznamů z db tabulek
INSERTvkládání záznamů do db tabulek
SELECTvýběr dat z db tabulek
UPDATEzměna existujících záznamů v db tabulkách
EXECUTEspouštění uložených procedur a funkcí
TRIGGERvytváření triggerů

Odebrání oprávnění probíhá pomocí příkazu REVOKE:

Jakákoliv oprávnění, která přidělíme, přidělujeme pouze danému uživateli a ten defaultně nemá možnost je přidělovat dále. Pokud chceme, aby uživatel mohl část (nebo všechna) svá oprávnění přidělovat dále, je nezbytné využít dodatek WITH GRANT OPTION:

Je také možné jít ještě do většího detailu a nepřidělovat oprávnění na čtení všech relací, ale pouze konkrétní relace nebo dokonce pouze konkrétních atributů v relaci:

Příklad příkazu zobrazující oprávnění konkrétního uživatele:

Někdy je potřeba po změně oprávnění ještě oprávnění znovu načíst (provést reload) – to se provádí příkazem: