创建用户:
语法:create user username identified by password
示例:create user zsk identified by zxn;
查看用户是否创建:
select username from dba_users;
授权后才可登录(连接权限):
grant create session to zsk;(连接登录权限)
grant all on scott.emp to zsk;(授予表的权限)
revoke all on scott.emp from zsk;收回权限
修改用户密码:
--将zsk用户的密码改为zzz
alter user zsk identified by zzz;
--删除用户:使用drop user删除用户,关键字cascade删除用户模式中包含的数据对象。
drop user zsk cascade;
--切换用户为system账户后,才可删除用户。
--测试zsk用户是否存在
conn zsk/zzz@test;
查看用户自己的权限:
select * from user_sys_privs;
grant赋予权限:
常用的系统权限集合有以下三个
connect(连接),resource(长须开发),dba(数据库管理)
常用的数据对象权限有以下五个:
1. all on 数据对象名,select on 数据对象名,
update on数据对象名,delete on数据对象名,
insert on数据对象名,alter on数据对象名,
grant connect,resource to用户名;
grant select on 表用to用户名;
grant select insert delete on表明to用户名1,用户名2;
2.revoke回收权限:
revoke connect,resource from 用户名;
revoke select on 表明from 用户名;
revoke select,insert,delete on表明from用户名1,用户名2;
3.删除用户:
drop user用户名 cascade;
4.设置用户密码登录后失效,并要求修改密码。
alter user 用户名password expire;
5.账户锁定和解锁。
alter user 用户名 account lock;锁定
alter user 用户名 account unlock;解锁
序列sequence:
在MySQL中创建一个自增的值很简单,只要勾选自增选项。序列是Oracle中转悠对象用来产生一个自动递增的值。
创建序列语法:
create squene seq_name increment by n startwith n maxvalue max minvalue min cycle 或nocycle(是否循环)cache n或nocache(是否缓存)
示例:
create sequence seq_id start with 1 increment by 1;
如何使用序列:
注意,如果创建号序列后,没有经过任何的使用,那么不能获取当前的值,必须要先执行nextval之后才能获取当前值。
--查看当前序列的值
select my_sequence.currval from dual;
--获取序列的下一个值
select my_sequence.nextval from dual;
--插入序列
insert into emp(empno,ename)values(my_sequence.nextval'h');
--删除序列
drop sequence my_sequence;