`
yousking
  • 浏览: 33604 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle 9i基本SQL操作

阅读更多

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

分享到:
评论
1 楼 weijavamen 2009-08-20  
很详细,也很基础,谢谢啦

相关推荐

    Oracle 9i SQL基本概念

    根据提供的文件信息,我们可以深入探讨Oracle 9i中的SQL基本概念。这将涵盖SQL在Oracle 9i数据库管理系统中的应用、重要性以及如何利用SQL进行数据管理等方面。 ### Oracle 9i SQL基本概念 #### 1. SQL简介 SQL...

    Introduction To ORACLE9i:SQL3

    《Oracle9i: SQL3入门指南》一书深入探讨了Oracle9i数据库系统中的SQL语言高级应用,旨在为读者提供全面、深入的SQL知识体系,适用于Oracle认证专业人员(OCP)的学习与备考。以下是对该书籍核心知识点的详细解析: ...

    Oracle9i簡介:SQL基本概念學生指南

    从给定的文件信息来看,这是一份关于Oracle9i的教材资料,主要聚焦于SQL基本概念的教学。以下是对这份资料的关键知识点的详细解析: ### Oracle9i简介 Oracle9i是Oracle公司推出的第九代数据库管理系统,它在企业...

    Oracle9i PL/SQL从入门到精通

    Oracle9i PL/SQL从入门到精通

    Introduction to Oracle9i:SQL Ed 2.0

    - 掌握 iSQL*Plus 的基本操作,包括执行 SQL 语句、格式化数据和报告生成。 #### 二、Oracle9i 特性 **Oracle9i 的定义**:Oracle9i 是 Oracle 公司推出的一个高性能基础设施,专为电子商务而设计。它包含了一切...

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    1、本软件可作为简单的Oracle9i客户端使用,如用户对Oracle有更高的使用要求,请正式安装Oracle客户端或服务器。 2、本软件安装后,可使用自带的SQL Plus连接Oracle服务器,支持EXP、IMP命令。用户可以配合PLSQL ...

    Oracle9i_SQL与PLSQL使用参考

    ### Oracle9i SQL与PL/SQL使用参考:深入解析与应用指南 #### 一、Oracle数据库基础概览 Oracle9i作为一个重要的企业级数据库系统,其核心能力在于提供高效的数据存储与检索服务。《Oracle9i_SQL与PLSQL使用参考》...

    基于oracle9i讲解SQL语言(来自网络)PDF中文教程

    **SQL语言概述** SQL,全称为Structured Query Language,即结构化查询语言,是用于...通过这九个章节的学习,读者将全面掌握Oracle 9i中的SQL语言及相关的数据库管理技术,能够有效地设计、操作和维护数据库系统。

    oracle9i sql 说明文档

    1. **SQL基本操作**:SQL主要包括数据查询、数据插入、数据更新、数据删除等操作。在Oracle 9i中,你可以使用`SELECT`语句进行复杂的数据检索,通过`INSERT`将新数据添加到表中,用`UPDATE`修改现有记录,以及用`...

    Oracle9i PL_SQL程序设计

    15. **PL/SQL内置函数**:Oracle9i提供了一系列内置函数,用于字符串处理、数学计算、日期时间操作等,极大地方便了编程。 理解并熟练掌握这些知识点,是进行Oracle9i PL/SQL程序设计的基础,能够帮助开发者编写出...

    oracle 9i sql手册

    Oracle 9i SQL手册是针对Oracle 9i数据库系统的一份详细参考资料,它涵盖了SQL语言在Oracle环境中的各种使用和操作。SQL(Structured Query Language)是用于管理关系数据库的标准编程语言,而Oracle 9i是Oracle公司...

    oracle9i客户端精简版.zip

    在“oracle9i310.msi”这个文件中,包含了Oracle 9i客户端的安装程序,用户只需运行此文件即可开始安装。 4. **使用说明.htm**:这个文件提供了关于如何使用客户端的指导,可能包括安装步骤、连接配置、基本操作等...

    Oracle9i SQL 学生指南1 中文版

    根据提供的文件信息,可以看出这是一本关于Oracle9i SQL的学生指南中文版教材。该文档主要介绍了Oracle9i SQL的基础知识及其应用。以下是对该文档所涉及的重要知识点的详细解析: ### Oracle9i SQL简介 Oracle9i ...

    sybex_OCA&OCP Introduction to Oracle9i SQL Study Guide.pdf

    《Oracle9i SQL入门指南》是Sybex出版社推出的一本专门针对Oracle数据库初学者及认证考试(OCA&OCP)的教材。这本书详细介绍了Oracle9i版本的SQL语言,帮助读者掌握在数据库管理中必备的基础知识和技能。下面将从几...

    基于C_C++与ORACLE9i的嵌入式SQL编程技术.doc

    总的来说,基于C/C++与ORACLE9i的嵌入式SQL编程技术提供了一种强大的方式,将数据库操作与复杂逻辑集成在一起,使得程序可以灵活地处理数据。通过理解SQL通信区的工作原理以及如何声明和使用SQL变量,开发者可以有效...

    oracle9i教程

    通过深入学习《Oracle9i教程》,读者不仅能理解数据库的基本概念,还能掌握实际操作和管理Oracle数据库的技能,为成为合格的数据库管理员或开发者奠定坚实基础。无论是初学者还是经验丰富的专业人士,都能从这个教程...

    oracle9i310.rar

    "oracle9i310.rar" 是一个压缩包,其中包含了Oracle 9i的简化客户端版本,适用于在虚拟机、老旧计算机或Windows XP系统上运行。由于其资源占用较小,因此特别适合这些环境下使用,同时也能连接到更高版本的Oracle...

Global site tag (gtag.js) - Google Analytics