第15章 权限的授予与回收

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15.1
数据库及其不同对象允许的操作权限
其中,SELECT表示查询权限;INSERT表示增加数据 权限;UPDATE表示修改数据权限;DELETE表示删除数据 权限;ALTER表示修改数据表权限;INDEX表示索引权限 ;ALLPRIVIEGES表示全部操作权限。 如果现在有3个用户和3个数据库,3个用户的用户名分 别为user1、user2和user3对应的3个数据库的名字分别为 test_1、test_2和test_3。其中,数据库test_1中包含有一个教 师信息表T_teacher;数据库test_2中包含有学生信息表 T_student、课程信息表T_curriculum和成绩信息表T_result ;数据库test_3中包含有院校信息表T_dept。现在想要为这3 个用户分配不同的操作权限,应该如何操作。在15.2节中将 介绍权限授予的方法。
15.2.1
授予指定用户操作数据表的权限
例15.1 将查询数据库test_1中教师信息表的权限授予 user2。 GRANT SELECT ON TABLE test_1.T_teacher TO user2 例15.2 将更新数据库test_1中教师信息表的权限授予 user2和user3。 GRANT INSERT,UPDATE,DELETE ON TABLE test_1. T_teacher TO user2, user3 例15.3 将对数据库test_2中学生信息表、课程信息表 和成绩信息表的全部权限授予user2。 GRANT ALLPRIVIEGES ON TABLE test_2. T_ student, test_2T_curriculum, test_2T_result TO user2
授予指定用户授权的权限
其中,GRANT关键字表示执行授予权限的操作; GRANT关键字后面跟的要为数据列授予的权限,包括 SELECT、INSERT、UPDATE、DELETE、、 ALLPRIVIEGES,多个权限之间需要用逗号分开;关键字 ON TABLE表示要为数据表授予权限;关键字ON TABLE 后面跟的是表的名字,表的名字可以有多个,多个表名之间 需要用逗号分开;关键字TO后面跟的是用户名,表示将权 限授予给哪个用户;WITH GRANT OPTION表示获得指定 权限的用户有权将该权限再授予其他的用户。
数据库及其不同对象允许的操作权限
数据库对象包括数据表、视图、索引等。在使用SQL 语句执行权限授予操作时,不同的对象允许的操作操作权限 也不完全相同。 数据表:SELECT、INSERT、UPDATE、DELETE、 ALTER、INDEX、ALLPRIVIEGES。 视图:SELECT、INSERT、UPDATE、DELETE、 ALLPRIVIEGES。 数据列:SELECT、INSERT、UPDATE、DELETE、 ALLPRIVIEGES。 数据库:CREATETAB。
15.2.6
使用Adiministrator管理系统授予用 户权限
除了可以使用GRANT语句为指定用户授予不同的权限 外,在数据库系统中也提供了可以设置操作权限的方法。这 里以MySQL5.0数据库为例,讲解如何在MySQL5.0数据库 中使用Adiministrator管理系统授予用户权限的方法。
第15章
权限的授予与回收
在SQL语句中,使用GRANT语句可以为指定用户授予 相应的操作权限,使用REVOKE可以回收权限。这一章主 要介绍使用GRANT语句授予权限和使用REVOKE语句回收 权限的方法。另外,数据库管理系统中都提供了可以为用户 授予权限的操作,这一章也以MySQL5.0数据库为例,介绍 在MySQL5.0数据库中使用Adiministrator管理系统授予用户 权限的方法。
15.2.3
授予指定用户授权的权限
如果获得授权的用户希望将得到的授权再授予其他的 用户,则需要在GRANT语句后加上一个WITH GRANT OPTION。其语法格式如下: GRANT 权限[,权限] ON TABLE 表名[,表名] TO 用户[,用户] WITH GRANT OPTION
15.2.3
Baidu Nhomakorabea
15.2.5
将操作权限授予所有用户
例15.7 将更新数据库test_1中教师信息表的权限授予 所有用户。 GRANT INSERT,UPDATE,DELETE ON TABLE test_1. T_teacher TO PUBLIC 这段SQL语句是将更新数据库test_1中教师信息表的 权限授予所有用户。其中,PUBLIC表示所有合法的用户都 会得到更新数据库test_1中教师信息表的权限。
15.2.1
授予指定用户操作数据表的权限
使用GRANT语句可以为指定用户授予操作数据表的权 限。使用GRANT语句为指定用户授予操作数据表的权限的 语法格式如下: GRANT 权限[,权限] ON TABLE 表名[,表名] TO 用户[,用户]
15.2.1
授予指定用户操作数据表的权限
其中,GRANT关键字表示执行授予权限的操作; GRANT关键字后面跟的要为数据表授予的权限,包括 SELECT、INSERT、UPDATE、DELETE、ALTER、 INDEX、ALLPRIVIEGES,多个权限之间需要用逗号分开 ;关键字ON TABLE表示要为数据表授予权限;关键字ON TABLE后面跟的是表的名字,表的名字可以有多个,多个表 名之间需要用逗号分开;关键字TO后面跟的是用户名,表 示将权限授予给哪个用户,用户名也可以有多个,多个用户 名之间需要用逗号分开。
15.2.4
授予创建数据表的权限
对数据库创 建数据表的 权限的属于 数据库管理 员 ( DBA )。如果普通用户希望获取创建数据表的权限,可以 由DBA授予创建数据表的权限。使用GRANT 语句可以为指 定用户授予创建数据表的权限。使用 GRANT 语句为指定用 户创建数据库的权限的语法格式如下: : GRANT CREATETAB ON DATABASE 数据库名 TO 用户 其中,GRANT关键字表示执行授予权限的操作;其中 ,GRANT关键字表示执行授予权限的操作;关键字ON DATABASE后面跟的DBName是数据库的名字;关键字TO 后面跟的是用户名,表示将在名为DBName放入数据库中 创建数据表的权限授予给哪一个用户。。
15.2.5
将操作权限授予所有用户
使用GRANT语句可以将操作权限授予所有用户。使用 GRANT语句将操作权限授予所有用户的语法格式如下: GRANT 权限[,权限] ON TABLE 表名[,表名] TO PUBLIC 其中,GRANT关键字表示执行授予权限的操作; GRANT关键字后面跟的要为数据列授予的权限,包括 SELECT、INSERT、UPDATE、DELETE、、 ALLPRIVIEGES,多个权限之间需要用逗号分开;关键字 ON TABLE表示要为数据表授予权限;关键字ON TABLE 后面跟的是表的名字,表的名字可以有多个,多个表名之间 需要用逗号分开;关键字TO后面跟的是PUBLIC,表示将 权限授予所有用户。
15.3
回收权限
如果想将授予的权限收回,可以使用REVOKE语句回 收权限。使用REVOKE语句回收权限的语法规则如下: REVOKE权限[,权限] ON TABLE 表名[,表名] FROM 用户[,用户]
15.3
回收权限
其中,REVOKE关键字表示执行回收权限的操作; REVOKE关键字后面跟的要回收数据表的权限,包括 SELECT、INSERT、UPDATE、DELETE、ALTER、 INDEX、ALLPRIVIEGES,多个权限之间需要用逗号分开 ;关键字ON TABLE表示要回收数据表权限;关键字ON TABLE后面跟的是表的名字,表的名字可以有多个,多个表 名之间需要用逗号分开;关键字TO后面跟的是用户名,表 示将权限从用户那里回收,用户名也可以有多个,多个用户 名之间需要用逗号分开。
15.2.2
授予指定用户操作数据列的权限
使用GRANT语句可以为指定用户授予操作数据列的权 限。使用GRANT语句为指定用户授予操作数据列的权限的 语法格式如下: GRANT 权限[,权限] ON TABLE 表名[,表名] TO 用户[,用户]
15.2.2
授予指定用户操作数据列的权限
其中,GRANT关键字表示执行授予权限的操作; GRANT关键字后面跟的要为数据列授予的权限,包括 SELECT、INSERT、UPDATE、DELETE、 ALLPRIVIEGES,多个权限之间需要用逗号分开;关键字 ON TABLE表示要为数据表授予权限;关键字ON TABLE 后面跟的是表的名字,表的名字可以有多个,多个表名之间 需要用逗号分开;关键字TO后面跟的是用户名,表示将权 限授予给哪个用户。
15.2.3
授予指定用户授权的权限
例15.5 将查询数据库test_1中教师信息表的权限授予 user2,并允许user2将该授权授予其他用户。 GRANT SELECT ON TABLE test_1. T_teacher TO user2 WITH GRANT OPTION 例如,user2可以将该权限授予给user3。 GRANT SELECT ON TABLE test_1. T_teacher TO user3
第15章
权限的授予与回收
数据库及其不同对象允许的操作权限; 为指定用户授予操作数据表的权限; 为指定用户授予操作数据列的权限; 为指定用户授予授权其他用户的权限; 为用户授予创建数据表的权限; 将操作权限授予所有用户; 使用Adiministrator管理系统授予用户权限; 权限的回收。
15.1
15.2
授予权限
在SQL语句中可以使用GRANT语句为指定用户授予不 同的权限。这一节以数据表为例,介绍使用SQL语句授予权 限的方法(视图的操作方法与数据表相同)。另外,不同的 数据库管理系统也提供了授予用户权限的方法,这里以 MySQL5.0数据库为例,介绍如何使用MySQL 5.0数据库的 Adiministrator管理系统授予用户权限。
15.3
回收权限
例15.8 将查询数据库test_1中教师信息表的权限收回
。 REVOKE SELECT ON TABLE test_1. T_teacher FROM user2 这段SQL语句是将查询数据库test_1中教师信息表的 权限收回。其中,SELECT表示查询权限;test_1. T_teacher表示要查询的数据表是数据库test_1中教师信息 表;user2表示要回收权限的用户名。 注意:如果用户user2还将该查询数据库test_1中教师 信息表的权限授予了其他用户,那么REVOKE语句执行时 ,也会自动将用户user2授予给其他用户的查询数据库 test_1中教师信息表的权限一并收回。
15.2.2
授予指定用户操作数据列的权限
例15.4 将修改数据库test_1中教师信息表教师工资和 津贴的权限授予user3。 GRANT UPDATE(salary,pension) ON TABLE test_1. T_teacher TO user3 这段SQL语句是将修改数据库test_1中教师信息表中 教师工资和津贴的权限授予user3。其中, UPDATE(salary, pension)表示修改教师工资和津贴的权限 ;test_1. T_teacher表示要修改的数据表是数据库test_1中 教师信息表;user3表示授予权限的用户名。
15.2.4
授予创建数据表的权限
例15.6 将创建数据表的权限授予user3。 GRANT CREATETAB ON DATABASE test_4 TO user3 这段SQL语句是将在数据库test_4中创建数据表的权 限授予user3。其中 test_4表示数据库的名字;user3表示 授予权限的用户名。
相关文档
最新文档