前言

              对于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语句练习篇--准备

           用户登录,建表,信息录入       

            --建立学生信息表             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;             -----------------------------------------------          --初始化工作完成

                  前期的准备工作终于完了,后面可以进行相关的练习了!先到这儿