数据库—安全性控制DCL

授予数据库权限

这里的用户是指数据库DBMS中创建的用户,而不是程序中的账户用户。

  • 授予某个/多个表的某一个/多个权限
  • public代表所有用户
    • grant select 表名 to public 就代表授予所有用户对于这个表的select权限。以此类推,其他权限也一样。
//给用户授予查询某个表的权限
grant select 
on 表名
to 用户1,用户2,...

//给用户授予更新某个表的权限
grant update
on 表名
to 用户1,用户2,...

//给用户授予某个表的插入信息权限
grant insert 
on 表名
to 用户1,用户2,...

//给用户授予某个表的增加删除修改信息权限
grant insert,delete,update
on 表名
to 用户1,用户2,...

//给用户授予多个表的增加删除修改信息权限
grant insert,delete,update
on 表名1,,2,...
to 用户1,用户2,...

//授予有关于这个表的其中一个或者几个属性的权限给这个用户
grant delete(属性1,,属性2,...)
on 表名
to 用户1,用户2,...

//还能混合授予
grant delete(属性1,属性2...),update,...
on 表名
to 用户1,用户2,...
.
.
.
  • 授予所有权限,all privileges(其实与上面的意思都一样,只是将权限范围修改一下罢了)
//授予有关于某个/多个表的所有权限给这个用户
grant all privileges
on1,2,...
to 用户1,用户2,...

//授予有关于这个表的其中一个或者几个属性的所有权限给这个用户
grant all privileges(属性1,属性2...)
on 表名
to 用户1,用户2,...
.
.
.

授予用户能够授予其他用户的权限

只需要在上述代码的后面加上with grant option即可,下面只用一个例子

  • 注意:比如授予select权限给用户后他继续授予其他用户的时候只能够授予select或者比这个更小的权限比如只能够select某个列,其他权限也一样的规定。
grant select 
on 表名
to 用户1,用户2,...
with grant option

收回权限

  • 如果想要收回用户的某个权限,并且这个用户有权限继续授予别人权限,然后这用户也确实授予了其他用户权限的时候,这个用户的权限一旦被收回,他授予其他人的都一同被收回(我觉得这个设计的挺好的,非常贴合符合现代社会思维)
//收回所有权限


//收回用户对表的权限
revoke grant select/update/...权限范围
on1,2,....
from 用户1,用户2,...

//收回用户对表中某个列的权限
revoke grant elect/update/...权限范围(属性1,属性2...)
on 表名
from 用户1,用户2,...
.
.
.

数据库的权限(特殊)

  • 授予该用户在这数据库中建立表的权限
grant createtab
on database 数据库名
to 用户,...
  • 回首数据库创建表权限
revoke createtab
from 用户,...
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹等寒

谢过道友支持,在下就却之不恭了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值