SQL語句之授權與收回


 
        
關系數據庫中的存取權限

一、數據庫模式
模式:CEATE SCHEMA 基本表:CREATE TABLE,ALTER TABLE 視圖:CREATE VIEW 索引:CREATE INDEX 二、數據 基本表和視圖:INSERT、DELETE、UPDATE、SELECT、REFERENCES、ALL PRIVILEGES 屬性列:INSERT、UPDATE、SELECT、REFERENCES、ALL PRIVILEGES



1、GRANT語句 GRANT語句一般模式: GRANT <權限>[,權限...] ON <對象類型><對象名>[,<對象類型><對象名>...] TO <用戶>[,<用戶>] [WITH GRANT OPTION]; --這里授予的用戶可以是所有用戶PUBLIC --WITH GRANT OPTION語句是指獲得該權限的用戶還可以把這種權限再授予其他用戶,如果沒有該子句,則獲得權限的用戶不能傳播該權限 --舉些例子 --把查詢Student表的權限授予給U1 GRANT SELECT ON TABLE Student TO U1; --把Student表和Course表的所有權限授予給用戶U2和U3 GRANT ALL PRIVILEGES ON TABLE Student,Course TO U2,U3 --把對SC表的查詢權限授予給所有用戶 GRANT SELECT ON TABLE SC TO PUBLIC; --把查詢Student表和修改學生學號的權限授權給用戶U4,對屬性列授權時必須明確指出相應的屬性列 GRANT SELECT,UPDATE(Sno) ON TABLE Student TO U4; --把對SC表的INSERT權限授予給用戶U5,並允許U5將此權限再授予給其他用戶 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION; --用戶U5將INSERT權限授予給用戶U6,U6授權給U7 GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; GRANT INSERT ON TABLE SC TO U7; 2、REVOKE語句 REVOKE語句的一般模式: REVOKE <權限>[,權限...] ON <對象類型><對象名>[,<對象類型><對象名>...] FROM <用戶>[,<用戶>...[CASCADE|RESTRICT]]; --把用戶U4修改學生學號的權限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4 --收回所有用戶對表SC的查詢權限 REVOKE SELECT ON TABLE SC FROM PUBLIC; --把用戶U5對SC表的INSERT權限收回 REVOKE INSERT ON TABLE SC FROM U5 CASCADE; --這里的CASCADE語句是級聯收回U6和U7對SC表的INSERT權限,如果不級聯收回,鑒於前面U6和U7的權限是級聯授予的,系統就會拒絕執行該命令 3、創建數據庫模式權限 CREATE USER <username>[WITH][DBA|RESOURCE|CONNECT]; 4、角色的創建 --創建一個角色 CREATE ROLE <角色名> --給角色授權,與給用戶授權一樣 GRANT <權限>[,<權限>]... ON <對象名>[,<對象名>] TO <角色>[,<角色>]... --將一個角色授予給另一個角色,這樣另一個角色的權限是授權角色權限的總和 GRANT <角色1>[,<角色2>]... TO <角色3>[,<用戶1>]... [WITH ADMIN OPTION] --角色權限的收回 REVOKE <權限>[,<權限>]... ON <對象類型><對象名> FROM <角色>[,<角色>]... --舉些例子 --首先創建一個角色R1 CREATE ROLE R1; --授予角色R1對於Student表的INSERT、UPDATE、SELECT GRANT INSERT,UPDATE,SELECT ON TABLE Student TO R1; --將角色R1授予給王平、張明、趙玲 GRANT R1 TO 王平,張明,趙玲; --一次性的通過收回R1的權限來收回王平的這三個權限 REVOKE R1 FROM 王平; --角色權限的修改 GRANT DELETE ON TABLE Student TO R1; --收回角色R1的SELECT權限 REVOKE SELECT ON TABLE Student FROM R1;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM