数据控制语言语句可以进行安全性管理,确定哪些用户可以查看或修改数据,这些语句包括GRANT、DENY、REVOKE等。
1.GRANT语句
GRANT语句是授权语句,它可以把语句许可或者对象许可授予其他用户和角色。允许用户对数据库进行某些操作的GRANT语句的语法形式如下。
(1)语句许可
GRANT {ALL | statement[,...n]}
TO security_account[,...n]
Statement代表语句许可的类型,可以是以下的类型:
CREATE DATABASE:创建数据库语句
CREATE DEFAULT:创建默认对象语句
CREATE PROCEDURE:创建存储过程语句
CREATE RULE:创建规则对象语句
CREATE TABLE:创建表语句
CREATE VIEW:创建视图语句
BACKUP DATABASE:备份数据库语句
BACKUP LOG:备份日志语句
(2)对象许可
GRANT{ALL [PRIVILEGES] | permission[,...n] }
{
[ (Column[,...n])] ON {table | view}
| ON {table | view}[(column[,...n])]
| ON {stored_procedure | extended_procedure}
}
TO security_account[,...n]
[WITH GRANT OPTION]
[AS {group | role}]
下面是一个实例,打开数据库game,然后对gamer角色授予author表的SELECT许可,允许gamer角色进行数据库检索。接着对三个用户授予INSERT、DELETE和UPDATE许可。最后,授予teacher角色CREATE TABLE语句许可。
USE game
GO
GRANT SELECT
ON author
TO gamer
GO
GRANT INSERT,DELETE,UPDATE
ON author
TO Mike,Henry,Ronald
GO
GRANT CREATE TABLE
TO teacher
GO
2.REVOKE语句
REVOKE语句是GRANT语句的逆语句,用于收回发出的许可。其语法如下。
(1)语句许可
REVOKE {ALL | statement[,...n]}
FROM security_account[,...n]
(2)对象许可
REVOKE[GRANT OPTION FOR]
{ALL [PRIVILEGES] | permission[,...n] }
{
[ (Column[,...n])] ON {table | view}
| ON {table | view}[(column[,...n])]
| ON {stored_procedure | extended_procedure}
}
FROM security_account[,...n]
[CASCADE]
[AS {group | role}]
下面是一个实例,打开数据库game,然后对gamer角色收回author表的SELECT许可,不再允许gamer角色进行数据库检索。接着对三个用户收回INSERT、DELETE和UPDATE许可。最后,收回teacher角色CREATE TABLE语句许可。
USE game
GO
REVOKE SELECT
ON author
FROM gamer
GO
REVOKE INSERT,DELETE,UPDATE
ON author
FROM Mike,Henry,Ronald
GO
REVOKE CREATE TABLE
FROM teacher
GO
3.DENY语句
DENY语句与REVOKE语句类似,但是DENY语句比REVOKE语句更进了一步。DENY语句不仅将授予用户的许可收回,而且禁止该用户从其他角色中继承相应的许可。
(1)语句许可
DENY {ALL | statement[,...n]}
TO security_account[,...n]
(2)对象许可
DENY{ALL [PRIVILEGES] | permission[,...n] }
{
[ (Column[,...n])] ON {table | view}
| ON {table | view}[(column[,...n])]
| ON {stored_procedure | extended_procedure}
}
TO security_account[,...n]
[CASCADE]
计算机软考网络管理员考试题及答案汇总(21套)
[网络管理员]2017年2月8日计算机软件水平考试网络工程师试卷及答案汇总(17套)
[网络工程师]2017年1月31日2016年下半年软件水平考试成绩查询入口已开通
[考试动态]2017年1月3日2016年上半年全国计算机软件水平考试证书领取时间
[考试动态]2016年12月15日人力资源社会保障部2017年计算机技术与软件考试计划及有关问题通知
[考试动态]2016年12月2日