Oracle数据库之SQL语句练习篇--准备
Oracle数据库之SQL语句练习篇--准备
前言
对于Oracle 的SQL语句的学习也有一段时间了,笔者一直认定的一个事实就是:真正的学习是
能够用于实践中去的,不然的话只能说明只是简简单单的知道一些东西,但是并未真正的掌握。前面
的学习中对于oracle的函数,sql语法什么的都有一定的学习,但是实践出真知!因此小生在接下来的
一段时间中,会找一些练习,通过练习掌握sql的语法特性。在练习中进行查漏补缺。
不过在此之前要做一些相关的准备,因为这套题集是从网上找来的,会建立一些新的表,为了不
破坏Oracle数据库原有的结构,小生打算新建一个用户kiritor进行测试。
创建用户
首先是创建用户,之后需要对用户进行解锁
前言
对于Oracle 的SQL语句的学习也有一段时间了,笔者一直认定的一个事实就是:真正的学习是
能够用于实践中去的,不然的话只能说明只是简简单单的知道一些东西,但是并未真正的掌握。前面
的学习中对于oracle的函数,sql语法什么的都有一定的学习,但是实践出真知!因此小生在接下来的
一段时间中,会找一些练习,通过练习掌握sql的语法特性。在练习中进行查漏补缺。
不过在此之前要做一些相关的准备,因为这套题集是从网上找来的,会建立一些新的表,为了不
破坏Oracle数据库原有的结构,小生打算新建一个用户kiritor进行测试。
创建用户
首先是创建用户,之后需要对用户进行解锁
[sql]
SQL> conn sys/kiritor as sysdba;--以管理员的权限登录
SQL> create user kiritor identified by kiritor;--创建用户并且指定密码
User created--创建用户成功
SQL> create user kiritor identified by kiritor;--创建用户并且指定密码
User created--创建用户成功
接下来就需要对用户进行解锁了
[sql]
SQL> alter user kiritor account unlock;
User altered--解锁成功
User altered--解锁成功
赋予用户权限
创建用户之后需要对用户赋予相关权限,该用户才有可能进行相关的操作,例如必须赋予用户建立会话
create session的权限用户才会被用于登录oracle数据库。对于Oracle中用户的权限是十分复杂的,这里
小生就直接赋予其管理员权限。至于oralce中用户权限的问题,待有时间之后做一个详细的总结。
[sql]
SQL> grant dba to kiritor;
Grant succeeded--权限赋予成功
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),
s易做图 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;
-----------------------------------------------
--初始化工作完成
drop table student;
create table student
(
sno varchar2(10) primary key,
sname varchar2(20),
sage number(2),
s易做图 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;
-----------------------------------------------
--初始化工作完成
前期的准备工作终于完了,后面可以进行相关的练习了!先到这儿