Skip to content

授予对象级权限

语法格式

|   GRANT privileges ON name_space TO grantee_list opt_with_grant
|   GRANT privileges ON TABLE name_space TO grantee_list opt_with_grant    
|   GRANT privileges ON VIEW name_space TO grantee_list opt_with_grant
|   GRANT privileges ON PROCEDURE name_space TO grantee_list opt_with_grant
|   GRANT privileges ON SEQUENCE name_space TO grantee_list opt_with_grant

参数解释

  • privileges:授予权限操作类型,包括 SELECT、UPDATE、EXECUTE 等,若要授予对象的所有可操作权限,可使用 ALL 或 ALL PRIVILEGES 代替。
  • name_space:此处为指定授予操作权限对象名,对象名与 privileges 操作类型必须匹配,如该对象为 TABLE,则不能授予 EXECUTE 权限。
  • grantee_list:被授予权限的用户名或角色名。

示例

  • 示例1

    sql
    CREATE TABLE test_permission(id int);
    CREATE USER u1 IDENTIFIED BY 'test_123@';
    GRANT INSERT ON test_permission TO u1;

    该示例表示授予用户 U1 对于表 test_permission 的数据插入权限,则用户 U1 对表 test_permisssion 无删除、查询、更改、引用等权限。

  • 示例2

    sql
    GRANT ALL ON test_permission TO u1;

    该示例表示授予用户 U1 对于表 test_premission 所有数据库所允许的操作权限,包括:INSERT、UPDATE、DELETE、SELECT、REFERENCES 等。