sql语句中对账户的管理
sql语句关于对数据库中账号管理的使用:
一、创建用户:
数据库中只有system或sys用户才有创建用户的权限所以
1.首先使用conn命令切换到system用户
conn system/密码
2.创建用户
create user 账号名 inentified by 密码;
注意:这里的创建用户是不能够登录的,因为该用户还没有任何的权限
二、修改用户的密码:
alter user 用户名 inentified by 密码;
三、授权:
grant 权限名1,权限名2......
to 用户名;
例如:(把建立表,建立序列,建立视图的权限授权给sss用户)
grant create table, create sequence,create view
to sss;
但是这样写一般过于繁琐,数据库系统提供了一种角色,可以把角色的权限直接授权给用户,例如:
grant resource,connect,dba
to scott;
3种标准的角色:
(a) connect: 提供了登录和执行基本函数的能力。可以连接数据库以及在这些表中进对数据进行查询,插入,修改及删除的权限。
(b) resource: 建立对象的能力。
(c) dba: 拥有所有的系统权限,包括无限的空间限额,以及给其他用户授予全部权限的能力。
四、授予用户授权权:
grant 权限名1,权限名2.....
ON 表名
TO {用户名或public}
with grant option;
to public 指将权限赋予给所有的用户
with grant option 指当前授权的用户有权把自己的权限授予给别的用户
例如:(将student表的查询权和插入信息权授权给sss用户,并且sss用户可以把这两个权限授权给别的用户)
grant select,insert
on student
to sss
with grant option
五、回收权限:
revoke 权限名1,权限名2
on 表名
from 用户名
with grant option
这里with grant option指回收此用户授予别人的所有权限
例如:(将student表的查询权,插入权从用户sss的手中收回,并且收回sss曾经给别的用户授过的这两种权限)
revoke select,insert
ON student
FROM sss
with grant option;