DCL语句
DCL语句
1.创建用户 USER
语法:CREATE
USER
用户名 IDENTIFIED
BY
密码;
1 | CREATE USER SCOTT IDENTIFIED BY SCOTT; |
–如果权限不足会报错,显示权限不足,需要赋予权限。
sys
/sys
system
/system
两个管理员账号密码
–无法直接登录,需要修改’连接为‘成SYSDBA
2.赋权(赋予权限) GRANT
语法:GRANT
CREATE
SESSION
TO 用户名;
1 | GRANT CREATE SESSION TO YAOTIAN; |
–新建的用户没有表,也不能创建表
2.2 给用户添加基础连接角色 CONNECT 和基础资源角色 RESOURCE
CONNECT
能够使用户连接到数据库中,并对其他用户的标有访问权限时,做增删改操作RESOURCE
能让用户在自己的窗口中创建表等内容
语法:GRANT
CONNECT
,RESOURCE
TO
用户名;
–权限是可以多个一起给的
1 | GRANT CONNECT,RESOURCE TO YAOTIAN; |
2.3 给用户赋予查询某张表的权限
语法:GRANT
SELECT
ON
用户名.表名 TO
用户名;
–前一个用户名为表的所属人,后一个用户名为被赋予查看这张表的人
1 | GRANT SELECT ON SCOTT.EMP TO YAOTIAN; |
2.4 赋予用户管理员权限
语法:GRANT
DBA
TO 用户名;
1 | GRANT DBA TO YAOTIAN; |
我现在在YAOTIAN用户下创建了一个CLASS_37的表,请问怎么在SCOTT用户下查看?
1.赋予管理员权限
2.赋予查看这张表的权限
3.收回权限 REVOKE
语法:REVOKE
权限 FROM 用户名;
1 | REVOKE DBA FROM YAOTIAN; |
GRANT SELECT ON 用户名.表名 TO 用户名;
给某个用户赋予其他用户下表的查看权限
4.锁定/解锁用户 LOCK/UNLOCK
语法:ALTER
USER
用户名 ACCOUNT
LOCK
;
1 | ALTER USER 用户名 ACCOUNT UNLOCK; |
–1.可以在自己的用户下锁定自己,退出后无法登录
–2.锁定的用户在没有解锁之前无法登录
5.修改密码
创建用户的语法:CREATE
USER
用户名 IDENTIFIED
BY 密码;
修改密码的语法:ALTER
USER
用户名 IDENTIFIED
BY
新密码;
1 | ALTER USER YAOTIAN IDENTIFIED BY yaotian; |
–密码是严格区分大小写的,用户名不区分
6.删除用户
语法:DROP
USER
用户名;–删除用户,但是里面有权限、表、视图等内容都不能用这个删除
1 | DROP USER YAOTIAN CASCADE;--权限不足 |
–CASCADE需要在超级管理员的用户下进行
–1.自己无法删除自己
–2.如果赋权了,得先收回权限再删除用户,要不然无法删除用户
–3.如果硬要删除,在用户名后加上CASCADE即可
==GRANT DBA TO YAOTIAN;==
==DROP USER YAOTIAN CASCADE;==