1.授權的語句格式
GRANT <權限>[,<權限>..] [ON <對象類型><對象名>] TO <用戶>[,<用戶>..] [WITH GRANT OPTION];
--例
--給兩個表賦予全部操作權限給兩個用戶
GRANT ALL PRIVILEGES ON TABLE A,B TO U1,U2;
ps.注意不同類型的操作對象,有着不同的操作權限
對象 | 對象類型 | 操作權限 |
---|---|---|
屬性列 | TABLE | SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES(4種權限的總和) |
視圖 | TABLE | SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES(4種權限的總和) |
基本表 | TABLE | SELECT、INSERT、UPDATE、DELETE、ALTER、INDEX、ALL PRIVILEGES(6種權限的總和) |
數據庫 | DATABASE | CREATETAB建立表的權限,可由DBA授予普通用戶 |
注意:
PUBLIC:接受權限的用戶可以是單個或多個具體的用戶,PUBLIC參數可將權限賦給全部用戶
WITH GRANT OPTION:若指定了此子句,那麼獲得了權限的用戶還可以將權限賦給其他用戶
2.收回權限語句格式
REVOKE <權限>[,<權限>..] [ON <對象類型><對象名>] FROM <用戶>[,<用戶>..];
--例
--將兩個用戶對兩個表的所有操作權限收回
REVOKE ALL PRIVILEGES ON TABLE A,B,C FROM U1,U2;
--將所有用戶對錶A的所有查詢權限收回
REVOKE SELECT ON TABLE A FROM PUBLIC;
--將用戶U1對錶A的Tname的修改權限收回
REVOKE UPDATE(Tname) ON TABLE A FROM U1;