当前位置:数据库 > Oracle >>

Oracle数据库之SQL语句练习篇--准备

Oracle数据库之SQL语句练习篇--准备

  前言
  对于Oracle 的SQL语句的学习也有一段时间了,笔者一直认定的一个事实就是:真正的学习是
  能够用于实践中去的,不然的话只能说明只是简简单单的知道一些东西,但是并未真正的掌握。前面
  的学习中对于oracle的函数,sql语法什么的都有一定的学习,但是实践出真知!因此小生在接下来的
  一段时间中,会找一些练习,通过练习掌握sql的语法特性。在练习中进行查漏补缺。
  不过在此之前要做一些相关的准备,因为这套题集是从网上找来的,会建立一些新的表,为了不
  破坏Oracle数据库原有的结构,小生打算新建一个用户kiritor进行测试。
 创建用户
  首先是创建用户,之后需要对用户进行解锁
[sql] 
SQL> conn sys/kiritor as sysdba;--以管理员的权限登录 
SQL> create user kiritor identified by kiritor;--创建用户并且指定密码 
 User created--创建用户成功 
  接下来就需要对用户进行解锁了 
[sql] 
SQL> alter user kiritor account unlock; 
 
 User altered--解锁成功 

  赋予用户权限
  创建用户之后需要对用户赋予相关权限,该用户才有可能进行相关的操作,例如必须赋予用户建立会话
  create session的权限用户才会被用于登录oracle数据库。对于Oracle中用户的权限是十分复杂的,这里 
  小生就直接赋予其管理员权限。至于oralce中用户权限的问题,待有时间之后做一个详细的总结。
[sql] 
SQL> grant dba to kiritor; 
 
 Grant succeeded--权限赋予成功 
  如果读者对确实对oracle用户的权限感兴趣可以通过以下语句简单的查询一下:
[sql] 
select distinct privilege from dba_sys_privs; 
 

 用户登录,建表,信息录入 
[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; 
----------------------------------------------- 
--初始化工作完成 
  前期的准备工作终于完了,后面可以进行相关的练习了!先到这儿
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,