Samnick Posted February 21, 2023 Share Posted February 21, 2023 V článku SQL - Základní informace jsme si řekli základní informace o SQL a ukázali si možnost založení uživatele. V tomto článku se probereme více možnostmi pro práci s uživatelem. Příkaz CREATE v jazyce SQL slouží k vytváření nových objektů v databázi, jako jsou tabulky, pohledy, indexy, procedury, funkce, uživatelé atd. Možnosti příkazu CREATE jsou specifické pro každý typ objektu, který se vytváří. Níže uvádím některé z možností příkazu CREATE pro nejčastěji používané typy objektů v databázi: CREATE TABLE: vytvoří novou tabulku v databázi CREATE VIEW: vytvoří nový pohled na tabulku nebo pohledy v databázi CREATE INDEX: vytvoří nový index na tabulku nebo pohled v databázi CREATE PROCEDURE: vytvoří novou uloženou proceduru v databázi CREATE FUNCTION: vytvoří novou uloženou funkci v databázi CREATE TRIGGER: vytvoří nový trigger (spouštěč) pro sledování událostí v databázi CREATE USER: vytvoří nového uživatele databáze CREATE DATABASE: vytvoří novou databázi Každý z těchto příkazů má mnoho dalších možností a specifických syntaxí, které se používají pro vytváření konkrétních objektů v databázi. Pro vytvoření uživatele tedy budeme potřebovat CREATE USER CREATE USER user_name IDENTIFIED BY 'password'; Tento příkaz vytváří nového uživatele a přiděluje mu heslo pro přihlášení. user_name je jméno uživatele a password je heslo. Příkaz CREATE USER vytváří uživatele bez jakýchkoli oprávnění. Klíčové slovo IDENTIFIED BY slouží k přidělení hesla Když budeme chtít takto vytvořeného uživatele přiřadit k nějaké databázi a nastavit mu oprávnění, budeme potřebovat příkaz GRANT Příkaz GRANT slouží k udělení přístupových práv uživatelům v databázi. Mezi hlavní možnosti patří: GRANT SELECT - umožňuje uživateli číst data v tabulkách GRANT INSERT - umožňuje uživateli vkládat data do tabulek GRANT UPDATE - umožňuje uživateli aktualizovat data v tabulkách GRANT DELETE - umožňuje uživateli odstraňovat data z tabulek GRANT CREATE - umožňuje uživateli vytvářet nové databáze, tabulky nebo indexy GRANT DROP - umožňuje uživateli odstraňovat databáze, tabulky nebo indexy GRANT ALTER - umožňuje uživateli měnit strukturu tabulek GRANT ALL PRIVILEGES - umožňuje uživateli přístup ke všem funkcím databáze GRANT EXECUTE - umožňuje uživateli spouštět uložené procedury nebo funkce Při použití příkazu GRANT může být uvedeno i specifikum, jako je určení konkrétní tabulky nebo databáze, ke které se přístupová práva vztahují, a také specifikace konkrétního uživatele, kterým se práva přidělují Například GRANT SELECT, INSERT, UPDATE ON database_name.* TO user_name@'localhost' IDENTIFIED BY 'password'; Pozor, localhost v příkazu přiděluje oprávnění uživateli pro připojení pouze z lokálního serveru, ale pokud chcete umožnit připojení i z jiných míst, můžete změnit localhost za '%'. Použití localhost je vhodné když chcete mít jistotu v zabezpečení jako další faktor před manipulaci s daty cizí osobou. Nejčastěji se používá přímo pro aplikace která je spuštěna na stejném serveru jako je databáze. Tímto způsobem si můžete u uživatele nastavit oprávnění. Nyní ale potřebujeme změnu oprávnění. Přidělení nového oprávnění použijeme opět příkaz GRANT. V opačném případě je potreba příkaz REVOKE Mezi základní možnosti patří: REVOKE ALL: Odebere všechna oprávnění uživateli pro daný objekt. REVOKE [název oprávnění]: Odebere konkrétní oprávnění uživateli pro daný objekt. REVOKE [název oprávnění] ON [název objektu] FROM [název uživatele]: Odebere konkrétní oprávnění uživateli pro daný objekt. Například: REVOKE SELECT ON database_name.table_name FROM 'user_name'@'%'; A jako poslední práci s uživatelem změníme uživatele heslo. Pro změnu hesla existuje v SQL příkaz ALTER. Příkaz ALTER v SQL slouží k úpravě již existujících objektů v databázi, jako jsou tabulky, pohledy, funkce, procedury, uživatelé atd. Možnosti příkazu ALTER se liší v závislosti na objektu, který chcete upravit. Zde je několik příkladů: ALTER TABLE: slouží ke změně struktury tabulky, např. přidání/odebrání sloupců, změna datového typu sloupců nebo změna primárního klíče. ALTER VIEW: slouží k úpravě definice pohledu. ALTER FUNCTION nebo ALTER PROCEDURE: slouží ke změně těla funkce nebo procedury. ALTER USER: slouží ke změně vlastností uživatele, jako je například změna hesla nebo limitu připojení. Každý typ objektu má své vlastní specifické možnosti úpravy pomocí příkazu ALTER. Pro změnu hesla použijeme ALTER USER Například: ALTER USER 'user_name'@'%' IDENTIFIED BY 'user_new_password'; 4 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.