2018.5.23 创建用户并授权&&&序列

作业一 视图的创建

1、分页查询2-3范围之间的数据,并用视图(view_student_page)保存。
create view view_student_page
as
select * from (select rownum rn,s.* from students s)stu where stu.rn between 2 and 3;

2、查询student表中所有数据,并使用只读视图(view_student_read)保存,删除其中一条数据,观察结果,分析原因。
create view view_student_read as
select * from students with read only;

delete from view_student_read where sid=1;

3、查询年龄在20-40范围的数据,分别使用基本视图(view_student)与限制视图(view_student_check)保存
create view view_student as
select * from students where sage between 20 and 40;

create view view_student_check as
select * from students where sage in(20,40)
with check option;

4、使用“view_student”视图插入一条数据:(5,'zhaoliu','30')
insert into view_student values(5,'zhouliu','30');

5、使用“view_student_check”视图插入一条数据:(7,'fujiu','31');
insert into view_student_check values(7,'fujiu','31');
6、再使用“view_student_check”视图插入一条数据:(8,'liushi','90'),观察结果,分析原因。
insert into view_student_check values(8,'liushi','90');
7、使用“view_student”视图修改sid=5的年龄为100
update view_student set sage=100 where sid=5;
8、使用“view_student_check”视图修改sid=6的年龄为100,观察结果,分析原因。
update view_student_check set sage=100 where sid=6;

作业二

1、创建一个账户,账户名为您的姓名首字母拼音
create user qcl identified by Legend;

2、查看账户是否创建成功
select username from dba_users;

3、授予你的账户连接数据库的权限。
grant create session to qcl;

4、授予你的账户查看emp表的权限。
grant select,insert on emp to qcl;
select * from Legend.emp;

5、为你的同桌建立一个账户,并使用你的账户把查询权限授予你的同桌。
create user qcl2 identified by Legend;
grant select on emp to qcl2;
grant create session to qcl2;
6、测试同桌账户是否具有查询emp表的权限
select * from qcl.emp;

7、使用你的账户回收你同桌账户查看emp表的权限
revoke select on emp from qcl2;

8、测试是否操作成功
账号密码登陆测试就好

9、收回自己账户查看emp表的权限
revoke select on emp from qcl;

10、测试是否操作成功

11、修改自己账户的密码
alter user qcl identified by 1234;

12、测试是否修改成功

13、删除您创建的用户帐号
drop user qcl;
14、测试是否删除成功

作业二

1、创建学生表students:
create table students
(
sid number(6) primary key,
sname varchar2(20) ,
sage varchar2(10)
);

2、创建序列“seq_sid”,默认从“1001”开始,每次增量为“2”
create sequence seq_sid start with 1001 increment by 2 minvalue 1001;

3、插入4条测试数据,使用序列为sid列插入值。
insert into students(sid,sname,sage) values(seq_id.nextval,'zl',18);
insert into students(sid,sname,sage) values(seq_id.nextval,'Le',17);
insert into students(sid,sname,sage) values(seq_id.nextval,'dd',22);
insert into students(sid,sname,sage) values(seq_id.nextval,'zld',30);

4、测试,观察结果。
select * from students;

posted @ 2018-05-23 08:59  LegendQi  阅读(435)  评论(0编辑  收藏  举报