您的位置:首页 > 数据库

数据库SQL语言语法总结6---数据控制

2017-02-08 20:08 459 查看

一:授权

grant <权限> [,<权限>] … [on <操作对象类型><操作对象名>] to <用户>[,<用户>]…[with grant option]

作用:将对某一对象的某一权限授予某一用户

语法各部分解释:



用户:

public: 全体用户

也可以是单个用户的用户名

[with grant option]

这个选项表示是否将授予此操作的权利的权利授予用户。举个例子:grant select on table Student to u2 with grant option 表示将查询Student表的权利下放给用户u2,意味着用户u2可以查询Student表了,然而加上with grant option 表示用户u2可以将查询权限下放给其他用户,当u2将权限下放给u3时,u3和u2都可以查询表。不加with grant option ,u2没有权限将查询权利授予其他用户。

下面结合几个例子帮助看客来了解以上语句的用法:

前提条件:

数据库中现存在3个关系表

Student (Sno ,Sname,Ssex,Sage,Sdept);

解释:学生(学号,学生姓名,学生性别,学生年龄,学生专业);

Course(Cno,Cname,Cpno);

解释:课程(课程号,课程名,可能的先修课程);

SC(Sno,Cno,Grade);

解释:学生选课情况(学号,课程号,成绩)

举例:

1): 将查询Student表的权利授予全体用户————grant select on table Student to public

2): 将Student和Course表的所有权利授予u2和u3,其中包括Select,insert,update,delete,alter,index这六个权限————-grant all on table Student,Course to u2,u3

3
4000
):
将Student关系表的查询权限和Sno属性列的修改权限授予用户u4——-grant update(Sno),select on table Student to u4

4): 将SC关系表的插入操作的权限授予u5并且u5可以将插入权限授予给其他用户———-grant insert on table SC to u5 with grant option

二:收回权限

当察觉到一个用户对数据库的操作的权限过大时,应该采取措施进行收回权限,以保证数据库的正常运行

revoke <权限> [,<权限>]… [on <对象类型><对象名>] from <用户>[,<用户>]…

举例:

1): 将更新Student关系表中的学号的权限从u4中收回——-revoke update(Sno) on table Student from u4

2): 将对Student关系表的插入权限从u5中收回————-revoke insert on table SC from u5 (如果创建时加with grant option,则删除时将此权限也一并收回)

3): 将对SC关系表的查询权限从全体用户中收回————-revoke select on table SC from public
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息