Oracle 9i基本SQL操作
---------重命名表------
Rename HR_BASE_CATEGORY To HR_TEMP_TABLE;
----------把一个表的数据拷到另一个相同结构的表
Insert Into HR_BASE_CATEGORY Select
CATEGORY_ID,
CATEGORY_NAME,
CATEGORY_ALIAS,
CATEGORY_DESC,
MODULE_ID,
MODULE_NAME,
SORT_ORDER
From HR_TEMP_TABLE;
---------创建表----------
-- 创建班级表
Create table class
(
class_id varchar2(10) not null primary key, --主键
class_name varchar2(10) not null,
class_create date default sysdate,
class_number number(2,0),
class_remark varchar2(50)
)
-- 删除表class
drop table class cascade constraint;
-- 创建学生表
create table student
(
stu_id varchar2(10) not null primary key,
stu_name varchar2(8),
stu_gender integer default 0,
stu_birthday date,
stu_from varchar2(20),
stu_tel varchar2(14),
stu_dorm varchar2(8),
stu_class_id varchar2(10)
)
--创建课程表
create table course
(
course_id varchar2(6) not null primary key,
course_name varchar2(16),
course_book varchar2(30)
)
drop table course cascade constraint;
--创建成绩表
create table score
(
score_stu_id varchar2(10) not null ,
score_course_id varchar2(6) not null,
score_pingshi number(5,2),
score_final number(5,2),
score_Total number(5,2) --总成绩
)
--------修改表---------
alter table student add email varchar2(30); ------在学生表中增加字段:email地址;-------
alter table course modify course_book varchar2(36); ------增加课程表字段"教科书"的长度;-------
alter table score modify score_Total default 0; ------设置成绩表的总评成绩字段缺省值为0;-----
--------创建视图----------
如果你在创建视图时使用了DISTINCT语句,那么你就不能插入或更新这个视图中的记录
create view student_view(stu_name,course_name,score_info)
as
select student.STU_NAME , course.COURSE_NAME , score.score_Total
from student,score,course
where student.STU_ID = score.SCORE_STU_ID
and course.COURSE_ID = score.SCORE_COURSE_ID;
--------创建索引----------
create index score_index on score(score_stu_id,score_course_id);
--------约束条件的创建-------
--------创建主键---------
--如果在表创建时已创建主键,可不再单独创建主键
alter table class add constraint pk_class_id primary key;
alter table student add constraint pk_stu_03 primary key;
alter table score add constraint pk_score_03 primary key;
----------创建外键---------
alter table student add constraint fk_class foreign key (stu_class_id) references class(class_id);
alter table score add constraint fk_stu_id foreign key(score_stu_id) references student(stu_id);
alter table score add constraint fk_course_id foreign key(score_course_id) references course(course_id);
----------创建check约束---------
alter table student add constraint ck_stu_gender check( stu_gender in (0,1) );
----------插入数据 和 事务控制语句------------
insert into class values(031,jsj,to_date(2003-09-01,yyyy-mm-dd,30,good);
insert into class values(032,xg1,to_date(2003-09-01,yyyymm-dd,26,good);
insert into student
values(001,xinhe,0,to_date(1977-09-22,yyyy-mm-dd),hunan,135,e208,031wxinhe2004@126.com);
insert into student values(002,huarong,0,to_date(1977-09-22,yyyy-mm-dd),hunan,135,e209,032,wxin004@126.com);
insert into course values(001,c++,jixietushu);
insert into course values(002,shujuku,qinghuatushu);
insert into score values(001,001,90.00,90.00,90.00);
insert into score values(002,001,80.00,80.00,80.00);
commit;
----------修改数据 和 事务控制语句------------
update course set coursename=cyuyan where coursename=c++;
update student set name=wangxinhe where name=xinhe;
update class set appendxi=average where classid=032;
update score set totalscore=95.0 where totalscore=90.00;
commit;
----------修改数据 和 事务控制语句------------
delete course where coursename=c++;
rollback;
delete student;
delete score;
delete class;
commit;
------------多表连接查询语句-----------
1)查询学生名称、编号、性别、生日(按yyyy-mm-dd显示)、所在班级的名称,其中,0显示为“男”,1显示为“女”(decode函数);
select a.stu_name ,a.stu_id , decode(a.stu_gender,0,男,1,女) 性别,
to_char(a.stu_birthday,yyyy-mm-dd) 出生日期, b.class_name
from student a,class b
where a.stu_class_id=b.class_id;
2)查询学生的各门功课的平时成绩、期末成绩和总评成绩;
select a.stu_id,a.stu_name, b.course_name, c.score_pingshi 平时,c.score_final 期末,c.score_Total 总成绩
from student a,course b, score c
where a.stu_id = c.score_stu_id
and b.course_id = c.score_course_id
3)查询姓名XX所在班级所有学生信息(嵌套查询);
select * from student where stu_class_id =
(select stu_class_id from student where stu_name=xinhe);
4)查询课程编号为“xxx”和“xxx”的学生成绩信息(集合查询);
select stu_id,score_Total from score where score_course_id = 001
union
select stu_id,score_Total from score where score_course_id = 002;
5) 查询各班每门功课的最好成绩;
select A.stu_class_id, B.score_course_id, max(score_Total)
from student A,score B
where A.stu_id=B.score_stu_id
group by A.stu_class_id, B.score_course_id
分享到:
相关推荐
根据提供的文件信息,我们可以深入探讨Oracle 9i中的SQL基本概念。这将涵盖SQL在Oracle 9i数据库管理系统中的应用、重要性以及如何利用SQL进行数据管理等方面。 ### Oracle 9i SQL基本概念 #### 1. SQL简介 SQL...
《Oracle9i: SQL3入门指南》一书深入探讨了Oracle9i数据库系统中的SQL语言高级应用,旨在为读者提供全面、深入的SQL知识体系,适用于Oracle认证专业人员(OCP)的学习与备考。以下是对该书籍核心知识点的详细解析: ...
从给定的文件信息来看,这是一份关于Oracle9i的教材资料,主要聚焦于SQL基本概念的教学。以下是对这份资料的关键知识点的详细解析: ### Oracle9i简介 Oracle9i是Oracle公司推出的第九代数据库管理系统,它在企业...
Oracle9i PL/SQL从入门到精通
- 掌握 iSQL*Plus 的基本操作,包括执行 SQL 语句、格式化数据和报告生成。 #### 二、Oracle9i 特性 **Oracle9i 的定义**:Oracle9i 是 Oracle 公司推出的一个高性能基础设施,专为电子商务而设计。它包含了一切...
1、本软件可作为简单的Oracle9i客户端使用,如用户对Oracle有更高的使用要求,请正式安装Oracle客户端或服务器。 2、本软件安装后,可使用自带的SQL Plus连接Oracle服务器,支持EXP、IMP命令。用户可以配合PLSQL ...
### Oracle9i SQL与PL/SQL使用参考:深入解析与应用指南 #### 一、Oracle数据库基础概览 Oracle9i作为一个重要的企业级数据库系统,其核心能力在于提供高效的数据存储与检索服务。《Oracle9i_SQL与PLSQL使用参考》...
**SQL语言概述** SQL,全称为Structured Query Language,即结构化查询语言,是用于...通过这九个章节的学习,读者将全面掌握Oracle 9i中的SQL语言及相关的数据库管理技术,能够有效地设计、操作和维护数据库系统。
1. **SQL基本操作**:SQL主要包括数据查询、数据插入、数据更新、数据删除等操作。在Oracle 9i中,你可以使用`SELECT`语句进行复杂的数据检索,通过`INSERT`将新数据添加到表中,用`UPDATE`修改现有记录,以及用`...
15. **PL/SQL内置函数**:Oracle9i提供了一系列内置函数,用于字符串处理、数学计算、日期时间操作等,极大地方便了编程。 理解并熟练掌握这些知识点,是进行Oracle9i PL/SQL程序设计的基础,能够帮助开发者编写出...
Oracle 9i SQL手册是针对Oracle 9i数据库系统的一份详细参考资料,它涵盖了SQL语言在Oracle环境中的各种使用和操作。SQL(Structured Query Language)是用于管理关系数据库的标准编程语言,而Oracle 9i是Oracle公司...
在“oracle9i310.msi”这个文件中,包含了Oracle 9i客户端的安装程序,用户只需运行此文件即可开始安装。 4. **使用说明.htm**:这个文件提供了关于如何使用客户端的指导,可能包括安装步骤、连接配置、基本操作等...
根据提供的文件信息,可以看出这是一本关于Oracle9i SQL的学生指南中文版教材。该文档主要介绍了Oracle9i SQL的基础知识及其应用。以下是对该文档所涉及的重要知识点的详细解析: ### Oracle9i SQL简介 Oracle9i ...
《Oracle9i SQL入门指南》是Sybex出版社推出的一本专门针对Oracle数据库初学者及认证考试(OCA&OCP)的教材。这本书详细介绍了Oracle9i版本的SQL语言,帮助读者掌握在数据库管理中必备的基础知识和技能。下面将从几...
总的来说,基于C/C++与ORACLE9i的嵌入式SQL编程技术提供了一种强大的方式,将数据库操作与复杂逻辑集成在一起,使得程序可以灵活地处理数据。通过理解SQL通信区的工作原理以及如何声明和使用SQL变量,开发者可以有效...
通过深入学习《Oracle9i教程》,读者不仅能理解数据库的基本概念,还能掌握实际操作和管理Oracle数据库的技能,为成为合格的数据库管理员或开发者奠定坚实基础。无论是初学者还是经验丰富的专业人士,都能从这个教程...
"oracle9i310.rar" 是一个压缩包,其中包含了Oracle 9i的简化客户端版本,适用于在虚拟机、老旧计算机或Windows XP系统上运行。由于其资源占用较小,因此特别适合这些环境下使用,同时也能连接到更高版本的Oracle...