前言
对于Oracle 的SQL语句的学习也有一段时间了,笔者一直认定的一个事实就是:真正的学习是
能够用于实践中去的,不然的话只能说明只是简简单单的知道一些东西,但是并未真正的掌握。前面
的学习中对于oracle的函数,sql语法什么的都有一定的学习,但是实践出真知!因此小生在接下来的
一段时间中,会找一些练习,通过练习掌握sql的语法特性。在练习中进行查漏补缺。
不过在此之前要做一些相关的准备,因为这套题集是从网上找来的,会建立一些新的表,为了不
破坏Oracle数据库原有的结构,小生打算新建一个用户kiritor进行测试。
创建用户
首先是创建用户,之后需要对用户进行解锁
SQL> conn sys/kiritor as sysdba;--以管理员的权限登录 SQL> create user kiritor identified by kiritor;--创建用户并且指定密码 User created--创建用户成功接下来就需要对用户进行解锁了
SQL> alter user kiritor account unlock; User altered--解锁成功
赋予用户权限
创建用户之后需要对用户赋予相关权限,该用户才有可能进行相关的操作,例如必须赋予用户建立会话
create session的权限用户才会被用于登录oracle数据库。对于Oracle中用户的权限是十分复杂的,这里
小生就直接赋予其管理员权限。至于oralce中用户权限的问题,待有时间之后做一个详细的总结。
SQL> grant dba to kiritor; Grant succeeded--权限赋予成功如果读者对确实对oracle用户的权限感兴趣可以通过以下语句简单的查询一下:
select distinct privilege from dba_sys_privs;
![Oracle数据库之SQL语句练习篇--准备_用户权限](http://img.my.csdn.net/uploads/201304/11/1365686970_2034.png)
用户登录,建表,信息录入
--建立学生信息表 drop table student; create table student ( sno varchar2(10) primary key, sname varchar2(20), sage number(2), ssex varchar2(5) ); --建立教师表 create table teacher ( tno varchar2(20) primary key, tname varchar2(20) ); --建立课程表 create table course ( cno varchar2(10), cname varchar2(20), tno varchar2(10), constraint pk_course primary key(cno,tno) --constraint表示是一个约束,primary key表示其为主键约束 --且主键列是(cno,tno)组合列 ); --创建分数表 create table score ( sno varchar2(10), cno varchar2(10), score number(4,2), constraint pk_sc primary key(sno,cno) --联合主键就是使用的这种方法定义的 ); --查询是否建立 select * from cat; -------------初始化学生表的数据-------------------- insert into student values('S001','张三',23,'男'); insert into student values('S002','李四',23,'男'); insert into student values('S003','吴鹏',25,'男'); insert into student values('S004','吴琴',20,'女'); insert into student values('S005','王丽',20,'女'); insert into student values('S006','李波',21,'男'); insert into student values('S007','刘玉',21,'男'); insert into student values('S008','肖蓉',21,'女'); insert into student values('S009','黄洁',23,'女'); insert into student values('S010','陈梅',22,'女'); commit; --------------初始化教师表--------------------------- insert into teacher values('T001','刘阳'); insert into teacher values('T002','王燕'); insert into teacher values('T003','胡笑萌'); commit; --------------初始化课程表---------------------------- insert into course values ('C001','J2SE','T002'); insert into course values ('C002','Java Web','T002'); insert into course values ('C003','SSH','T001'); insert into course values ('C004','Oracle','T001'); insert into course values ('C005','SQL SERVER 2005','T003'); insert into course values ('C006','C#','T003'); insert into course values ('C007','JavaScript','T002'); insert into course values ('C008','DIV+CSS','T001'); insert into course values ('C009','PHP','T003'); insert into course values ('C010','EJB3.0','T002'); commit; ----------------初始化成绩表------------------------- insert into score values ('S001','C001',78.9); insert into score values ('S002','C001',80.9); insert into score values ('S003','C001',81.9); insert into score values ('S004','C001',60.9); insert into score values ('S001','C002',82.9); insert into score values ('S002','C002',72.9); insert into score values ('S003','C002',81.9); insert into score values ('S001','C003','59'); commit; ----------------------------------------------- --初始化工作完成前期的准备工作终于完了,后面可以进行相关的练习了!先到这儿