數(shù)據(jù)控制語言DCL語句集合及常用的操作權(quán)限簡介
數(shù)據(jù)控制語言DCL語句集合及常用的操作權(quán)限的相關(guān)知識(shí)是本文我們主要要介紹的內(nèi)容,我們知道,DCL是數(shù)據(jù)控制語言(Data Control Language,DCL)。具備控制數(shù)據(jù)庫中數(shù)據(jù)權(quán)限的功能。
GRANT 定義權(quán)限
GRANT 權(quán)限1,權(quán)限2...
ON 對象類型 對象名
TO 用戶1,用戶2...
(WITH GRANT OPTION) ;
其語義為,將GRANT子句中指定的某操作對象的權(quán)限授予指定的用戶。
對于不同類型的數(shù)據(jù)對象有不同的操作權(quán)限,常見的操作權(quán)限如下:
對象 | 對象類型 | 操作權(quán)限 |
屬性列 | TABLE | SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES |
視圖 | TABLE | SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES |
基本表 | TABLE | SELECT,INSERT,UPDATE,DELETE,ALTER,INDEX,ALL PRIVILEGES |
數(shù)據(jù)庫 | DATABASE | CREATE TABLE,ALTER TABLE |
授權(quán)的用戶可以是一個(gè)或者多個(gè)具體的用戶,也可以是PUBLIC,即全體用戶。
WITH GRANT OPTION 的含義是獲得某種權(quán)限的用戶還可以把這種權(quán)限再授予其他用戶。如果在定義權(quán)限時(shí)沒有指定WITH GRANT OPTION,則獲得某種權(quán)限的用戶只能使用該權(quán)限,但不能傳播該權(quán)限。
例1:把查詢Student表的權(quán)限授給用戶U1:
- GRANT SELECT
- ON TABLE Student
- TO U1;
例2:把查詢Student表和修改學(xué)號(hào)的權(quán)限授給用戶U2:
- GRANT UPDATE(Sno),SELECT
- ON TABLE Student
- TO U2;
例3:把對表SC的INSERT權(quán)限授予U3用戶,并允許將此權(quán)限再授予其他用戶:
- GRANT INSERT
- ON TABLE SC
- TO U3
- WITH GRANT OPTION;
REVOKE 收回權(quán)限
REVOKE 權(quán)限1,權(quán)限2...
ON 對象類型 對象名
FROM 用戶1,用戶2...;
通過REVOKE收回定義的權(quán)限。
例1:把用戶U2修改學(xué)生學(xué)號(hào)的權(quán)限收回:
- REVOKE UPDATE(Sno)
- ON TABLE Student
- FROM U2;
例2:把用戶U3對SC表的INSERT權(quán)限收回:
- REVOKE INSERT
- ON TABLE SC
- FROM U3;
在收回權(quán)限的時(shí)候,DBMS采用級聯(lián)收回的策略,即在收回U3權(quán)限的同時(shí)也收回了U3授予U4的權(quán)限。
關(guān)于數(shù)據(jù)控制語言DCL語句集合及常用的操作權(quán)限的相關(guān)知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】






