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;