软件水平 > 中级资格 > 数据库系统工程师 > 文章内容

网络游戏服务器端编程:数据控制语言

2017-8-9编辑:daibenhua

  数据控制语言语句可以进行安全性管理,确定哪些用户可以查看或修改数据,这些语句包括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]

软件水平考试数据库系统工程师知识点:详细讲解Linux环境下MySQL5.1安装步骤

热点推荐

登录注册
触屏版电脑版网站地图