Oracle 10g数据库开发培训教程1_第1页
Oracle 10g数据库开发培训教程1_第2页
Oracle 10g数据库开发培训教程1_第3页
Oracle 10g数据库开发培训教程1_第4页
Oracle 10g数据库开发培训教程1_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、菏泽学院计算机系Java实训班课程体系 Oracle 10gPAGE PAGE 34目录TOC o 1-3 h z u HYPERLINK l _Toc303232529 目录 PAGEREF _Toc303232529 h 1 HYPERLINK l _Toc303232530 第1章 数数据库概述述 PAGEREF _Toc303232530 h 1 HYPERLINK l _Toc303232531 1.1 数数据库系统统概述 PAGEREF _Toc303232531 h 1 HYPERLINK l _Toc303232532 1.1.11 信息、数据与数数据库 PAGEREF _To

2、c303232532 h 1 HYPERLINK l _Toc303232533 1.1.22 数据管管理技术的的发展 PAGEREF _Toc303232533 h 2 HYPERLINK l _Toc303232534 1.1.33 数据库库系统(DDatabbase Systtem DDBS)的的组成 PAGEREF _Toc303232534 h 2 HYPERLINK l _Toc303232535 1.1.44 数据库库系统的模模式结构 PAGEREF _Toc303232535 h 3 HYPERLINK l _Toc303232536 1.1.55 数据库库系统的特特点 PAG

3、EREF _Toc303232536 h 4 HYPERLINK l _Toc303232537 1.2 数数据模型 PAGEREF _Toc303232537 h 4 HYPERLINK l _Toc330323325388 1.3 数据描述述 PAGEREF _Toc303232538 h 5 HYPERLINK l _Toc303232539 1.4 关关系数据库库 PAGEREF _Toc303232539 h 6 HYPERLINK l _Toc303232540 1.5 数数据库管理理系统 PAGEREF _Toc303232540 h 6 HYPERLINK l _Toc3032

4、32541 1.5.11 几个常常用的数据据库管理系系统 PAGEREF _Toc303232541 h 6 HYPERLINK l _Toc303232542 1.5.22 Oraacle数数据库简介介 PAGEREF _Toc303232542 h 6 HYPERLINK l _Toc303232543 1.5.33 Oraacle 10g数数据库系统统及Navvicatt的安装 PAGEREF _Toc303232543 h 7 HYPERLINK l _Toc303232544 11.6 本本章知识点点总结 PAGEREF _Toc303232544 h 9 HYPERLINK l _

5、Toc303232545 第2章 OOraclle 100g数据库库的SQLL语言与查查询 PAGEREF _Toc303232545 h 10 HYPERLINK l _Toc303232546 2.1 SSQL语言言概述 PAGEREF _Toc303232546 h 10 HYPERLINK l _Toc303232547 2.2 OOraclle 100g数据库库的数据类类型、运算算符和表达达式 PAGEREF _Toc303232547 h 10 HYPERLINK l _Toc303232548 2.2.11 简单数数据类型 PAGEREF _Toc303232548 h 10 H

6、YPERLINK l _Toc303232549 2.2.22 运算符符 PAGEREF _Toc303232549 h 10 HYPERLINK l _Toc303232550 2.2.33 表达式式 PAGEREF _Toc303232550 h 10 HYPERLINK l _Toc303232551 2.3 OOraclle 100g的SELEECT查询询语句 PAGEREF _Toc303232551 h 10 HYPERLINK l _Toc303232552 2.3.11 简单查查询(seelecttfroom结构) PAGEREF _Toc303232552 h 10 HYPE

7、RLINK l _Toc303232553 2.3.2 带条条件的简单单查询(sselecctfrromwwheree结构) PAGEREF _Toc303232553 h 11 HYPERLINK l _Toc303232554 2.3.33 单表查查询的应用用 PAGEREF _Toc303232554 h 11 HYPERLINK l _Toc303232555 2.3.44 多表查查询 PAGEREF _Toc303232555 h 12 HYPERLINK l _Toc30322325556 2.3.5 子查查询 PAGEREF _Toc303232556 h 12 HYPERLIN

8、K l _Toc303232557 2.3.66 作业 PAGEREF _Toc303232557 h 13第1章 数数据库概述述1.1 数数据库系统统概述1.1.11 信息、数据与数数据库信息是一种种已经被加加工为特定定形式的数数据,数据据是信息的的载体和具具体表现形形式,信息息不随数据据形式的变变化而变化化。很多人人认为数据据就是数(数数字组成),实实际上数据据的有很多多种形式:文字、数数字、声音音、图像等等。 数据和信信息时两个个相互联系系但又相互互区别的概概念,数据据是信息的的具体表现现形式,信信息时数据据有意义的的表现,而而数据库是是一个可以以共享的、存储在计计算机内的的、有组织织的

9、数据集集合。1.1.22 数据管管理技术的的发展数据管理技技术的发展展分为:人人工管理、文件管理理、数据库库管理(分分布式数据据库管理、面向对象象的数据库库管理)等等几个阶段段。人工管理阶阶段 文件管理阶阶段数据库管理理阶段三个阶段数数据管理技技术比较1.1.33 数据库系统(Daatabaase SSysteem DBBS)的组组成数据库系统统由计算机机硬件、数数据库管理理系统(DDBMS)(及其开发工具)、数据库(DB)、应用程序和用户等几部分组成。1、硬件平平台有足够大大的内存,存存放OS、DBMSS的核心模模块、数据据缓冲区和和应用程序序。有足够大大的磁盘,存存放数据库库,并进行行数据

10、备份份。有较高的的通道能力力,以提供供高速的数数据传输功功能。2、软件平平台DBMSS:是数据据库的建立立、使用和和维护所必必需的系统统软件。OS:支支持DBMMS的操作作系统平台台。程序设计计语言:与与数据库系系统有接口口的程序设设计语言及及其编译系系统,用于于开发应用用程序。开发工具具与环境:为数据库库系统的开开发和应用用提供良好好的环境。应用程序序:为特定定应用环境境而开发的的数据库应应用系统。3、人员1)数据库库管理员(DDataBBase Admiinisttratoor,简称称DBA):数据库系统需要有专门的人员来监督和管理。DBA负责全面管理和控制数据库系统。具体职责包括:决定数

11、据据库中的信信息内容和和结构决定数据据库的存储储结构和存存取策略定义数据据的安全性性要求和完完整性约束束条件监控数据据库的使用用和运行负责数据据库的改进进和重组重重构工作2)系统分分析员负责应用系系统的需求求分析和规规范说明工工作,要和和用户以及及DBA相相互沟通,确确定系统的的硬件、软软件配置,并并参与数据据库系统的的概要设计计。3)数据库库设计员负责数据库库中数据的的确定、数数据库各级级模式的设设计。数据据库设计人人员必须参参加用户需需求调查和和系统分析析,然后进进行数据库库设计。4)应用程程序员负责设计和和编写数据据库应用系系统的程序序模块,并并进行调试试和安装。5)最终用用户通过数据库

12、库应用系统统的用户界界面使用数数据库。DBS:DDBMSDBDDBA1.1.44 数据库系系统的模式式结构数据库系统统的结构由由内部级、概念级、外部级三三级模式组组成。1、内部级级模式(内内模式):最靠近物物理存储器器,是数据据在数据库库系统中的的表示(即即对数据的的物理结构构和存储方方式的描述述),是物物理数据模模型对数据据的描述。2、概念级级模式(模模式):间间于上述两两者之间。它又称为为逻辑模式式,是用逻逻辑数据模模型对一个个单位的数数据的描述述,是数据据库中的全全体数据的的逻辑结构构和特性的的描述。3、外部级级模式(外外模式):又称子模模式或用户户模式,是是数据库用用户看到的的数据视图

13、图。最靠近近用户,是是用户和数数据库的接接口,设计计有数据提提供给用户户的使用方方式。支持以上三三级模式的的计算机程程序就是数数据库管理理系统(DDBMS)。数据库的的三级模式式结构图如如下:4、三级模模式构成了了两个映射射1)外模式式模式映映象对于每一个个外模式,数数据库系统统都有一个个外模式模式映象象,它定义义了该外模模式与模式式之间的对对应关系。这些映象象定义通常常包含在各各自外模式式的描述中中。当模式改变变时,由数数据库管理理员对各个个外模式模式的映映象作相应应改变,可可以使外模模式保持不不变,从而而应用程序序不必修改改,保证了了数据的逻逻辑独立性性。2)模式内模式映映象数据库中只只有

14、一个模模式,也只只有一个内内模式,所所以模式内模式映映象是唯一一的,它定定义了逻辑辑结构与存存储结构之之间的对应应关系。该该映象定义义通常包含含在模式描描述中。当数据库的的存储结构构改变了(例例如采用了了更先进的的存储结构构),由数数据库管理理员对模式式内模式式映象作相相应改变,可可以使模式式保持不变变,从而保保证了数据据的物理独独立性。1.1.55 数据库系系统的特点点1、实现数数据共享、减少数据据冗余2、采用特特定的数据据模型3、具有较较高的数据据独立性4、有统一一的数据控控制功能1.2 数数据模型数据模型的的作用是在在计算机环环境中把数数据逻辑地地组织成为为数据库,使使得用户能能够有效地

15、地存取和处处理数据。1、层次模模型数据结构是是有序的树树型结构,基基本特征是是:(l)有有且只有一一个结点无无双亲,该该结点称为为根结点;(2)其其他结点有有且只有一一个双亲。R1是根结结点,R22和R3是是R1的子子结点,因因此它们是是兄弟结点点。R2、R4、RR5是叶结结点。2、网状模模型 网状状模型的特特征是:(ll)允许有有一个以上上的结点没没有双亲;(2)结结点可以有有多于一个个的双亲。3、关系模模型1)关系模模型中的数数据在用户户观点下的的逻辑结构构是二维表表,而关系系模型是建建立在集合合代数的基基础上的。在网状和和层次模型型中的联系系都是通过过指针来实实现的,而而在关系模模型中的

16、基基本数据结结构是表格格,记录之之间的联系系是通过各各个关系模模式的关键键码来体现现的。以二二维表格描描述简单、易懂,用用户只需简简单查询语语句就可以以对数据库库进行操作作,并不涉涉及存储结结构和访问问技术的细细节等。2)在关系系模型中,关关系具有以以下基本特特点:关系必须须规范化,属属性不可分分割。在同一关关系中不允允许出现相相同的属性性名。在同一关关系中元组组及属性的的顺序可以以任意。任意交换换两个元组组(属性)的的位置,不不会改变关关系模式。3)每个关关系都有一一个关系模模式,它是是该关系的的关系名及及其全部属属性名的集集合,一般般表示为:关系名(属属性名1,属属性名2,属性名n)1.3

17、 数数据描述1、计算机机处理信息息的过程 首先先从现实世世界中抽象象出大量描描述客观事事物的信息息,再对这这些信息进进行整理、分类和规规范,进而而将规范化化的信息数数据化,最最终实现由由数据库系系统存储、处理。即即客观世界界信息世界界数据世界界2、实体与与属性3、实体之之间的关系系1)一对一一的联系(11:1),如如班长与班级2)一对多多的联系(11:n),如如班级与学学生3)多对多多的联系(mm:n),如如教师与学学生1.4 关关系数据库库1、关系数数据库的定定义 关关系数据库库是建立在在关系模型基基础上的数数据库,它它由一些相相关的表和和其它的数数据库对象象组成。这这个定义包包含了如下下几

18、层含义义:建立在关系系模型基础础上;2)信信息被存放放在表(二二维表)中中;3)表表之间是相相互联系的的;4)除除了表之外外,还有其其它的数据据库对象如如索引、视视图、存储储过程等。2、关系数数据库的主主要功能和和特征1)数据定定义,定义义和删除数数据库中的的表、索引引、视图等等数据库对对象。2)数据操操纵,实现现对数据库库中数据的的操作,基基本的操作作有查询、数据插入入、数据删删除和数据据修改。3)数据控控制,主要要控制数据据库的安全全,包括操操作权限的的用户密码码和存储权权限等。4)事务管管理。3、几个概概念 关系系二维表;元组记录录;属性字字段;实体体型、实体体集。1.5 数数据库管理理

19、系统1.5.11 几个常用用的数据库库管理系统统ACCESSS、SQQL Seerverr、FoxxPro、Oraccle、MMySQLL和Sybbase等等。ACCEESS 是是美国Miicrossoft公公司于19994年推推出的微机机数据库管管理系统.它具有界界面友好、易学易用用、开发简简单、接口口灵活等特特点,是典典型的新一一代桌面数数据库管理理系统。Oraclle公司是是全球最大大的信息管管理软件及及服务供应应商,成立立于19777年,总总部位于美美国加州 Redwwood shorre。Orraclee提供的完完整的电子子商务产品品和服务包包括: 用用于建立和和交付基于于Web的的

20、Inteernett平台;综综合、全面面的具有IInterrnet能能力的商业业应用; 强大的专专业服务,帮帮助用户实实施电子商商务战略,以以及设计、定制和实实施各种电电子商务解解决方案。 .SQL是是英文Sttructturedd Queery LLanguuage的的缩写,意意思为结构构化查询语语言。SQQL语言的的主要功能能就是同各各种数据库库建立联系系,进行沟沟通。按照照ANSII(美国国国家标准协协会)的规规定,SQQL被作为为关系型数数据库管理理系统的标标准语言。SQL语语句可以用用来执行各各种各样的的操作,例例如更新数数据库中的的数据,从从数据库中中提取数据据等。目前前,绝大多多

21、数流行的的关系型数数据库管理理系统,最大区别:ACCESSS 的功功能相对不不是那么强强大,主要要是开发单单机版软件件中经常用用到;SQL SServeer 是目目前应用比比较广泛和和普遍的一一款数据库库,是数据据库发展的的一个里程程碑。Oraclle的功能能是比较强强大的,一一般用于超超大型管理理系统软件件的建立,现现在的应用用范围也已已经比较广广泛。1.5.22 Oraccle数据据库简介1、什么是是Oraccle数据据库oraclle数据库库是一种大大型数据库库系统,一一般应用于于商业,政政府部门,它它的功能很很强大,能能够处理大大批量的数数据,在网网络方面也也用的非常常多。不过过,一般

22、的的中小型企企业都比较较喜欢用SSQL数据据库系统,它它的操作很很简单,功功能也非常常齐全。只只是比较ooraclle数据库库而言,在在处理大量量数据方面面有些不如如。2、Oraacle数数据库的发发展历程(时时间可能不不太准确,但但大致差不不多)1977年年,Larrry EEllisson、BBob MMinerr和Ed Oatees等人组组建了Reelatiionall软件公司司(Rellatioonal Softtwaree Incc.,RSSI)。他他们决定使使用C语言言和SQLL界面构建建一个关系系数据库管管理系统(Relaationnal DDatabbase Manaageme

23、ent SSysteem,RDDBMS),并很快快发布了第第一个版本本(仅是原原型系统)。1979年年,RSII首次向客客户发布了了产品,即即第2版。该版本的的RDBMMS可以在在装有RSSX-111操作系统统的PDPP-11机机器上运行行,后来又又移植到了了DEC VAX系系统。1983年年,发布的的第3个版版本中加入入了SQLL语言,而而且性能也也有所提升升,其他功功能也得到到增强。与与前几个版版本不同的的是,这个个版本是完完全用C语语言编写的的。同年,RRSI更名名为Oraacle Corpporattion,也也就是今天天的Oraacle公公司。1984年年,Oraacle的的第4版发

24、发布。该版版本既支持持VAX系系统,也支支持IBMM VM操操作系统。这也是第第一个加入入了读一致致性(Reead-cconsiistenncy)的的版本。1985年年,Oraacle的的第5版发发布。该版版本可称作作是Oraacle发发展史上的的里程碑,因因为它通过过SQL*Net引引入了客户户端/服务务器的计算算机模式,同同时它也是是第一个打打破6400KB内存存限制的MMS-DOOS产品。1988年年,Oraacle的的第6版发发布。该版版本除了改改进性能、增强序列列生成与延延迟写入(Defeerredd Wriites)功能以外外,还引入入了底层锁锁。除此之之外,该版版本还加入入了PL

25、/SQL和和热备份等等功能。这这时Oraacle已已经可以在在许多平台台和操作系系统上运行行。1991年年,Oraacle RDBMMS的6.1版在DDEC VVAX平台台中引入了了Paraallell Serrver选选项,很快快该选项也也可用于许许多其他平平台。1992年年,Oraacle 7发布。Oraccle 77在对内存存、CPUU和I/OO的利用方方面作了许许多体系结结构上的变变动,这是是一个功能能完整的关关系数据库库管理系统统,在易用用性方面也也作了许多多改进,引引入了SQQL*DBBA工具和和dataabasee角色。1997年年,Oraacle 8发布。Oraccle 88除

26、了增加加许多新特特性和管理理工具以外外,还加入入了对象扩扩展(Obbjectt Exttensiion)特特性。2001年年,Oraacle 9i rreleaase 11发布。这这是Oraacle 9i的第第一个发行行版,包含含RAC(Reall Appplicaationn Cluusterr)等新功功能。2002年年,Oraacle 9i rreleaase 22发布,它它在relleasee 1的基基础上增加加了集群文文件系统(Clusster Filee Sysstem)等特性。2003年年9月,OOraclle发布了了Oraccle 110g 这一版版的最大的的特性就是是加入了网网

27、格计算的的功能。该版本中中Oraccle的功功能、稳定定性和性能能的实现都都达到了一一个新的水水平。 22007年年7月111日,Oraccle发布布了Oraacle 11g Oraccle 111g是甲甲骨文公司司30年来来发布的最最重要的数数据库版本本根据用户户的需求实实现了信息息生命周期期管(Innformmatioon sLLifeccyclee Mannagemment)等多项创创新。3、Oraacle 10g的技技术特点1)网格化化管理2)自动存存储管理3)可移植植的集群组组建4)支持高高速无限带带宽网络5)计算资资源供应6)共振1.5.33 Oraacle 10g数据据库系统及及

28、Naviicat的的安装1、安装OOraclle 100g2、启动OOraclle 100g的方法法1)用mss-doss启动:在在开始菜单单中找“运行SQQL命令行行”,在SQL后输入连连接数据库库的命令“connnect”,输入用用户名、密密码,密码码是不回显显的。在开始菜单单中找“转至数据据库主页”,启动ooraclle的企业业管理器 执行命令:seleect ttablee_namme frrom uuser_tablles;User_tablles是ooraclle数据库库自己的一一个数据词词典3、安装NNaviccat:安装naavicaat成功后后,创建连连接,设置置OCI,具体

29、做法法是: 1)创创建连接2)设置OOCI,如如果不设置置则navvicatt下的命令令行等不可可用菜单tooolsopptionnsOCI选定OCII后,设置置两个路径径如下:OCI llibraary的路路径:C:oraaclexxeappporracleeprooductt10.2.0servverBBINooci.ddllSQL*PPlus的的路径:CC:orracleexeaappooraclleprroducct100.2.00serrverBINsqlpplus.exeOraclle安装成成功后,新新建一个用用户rooot,用nnaviccat把rroot.sql导导入数据库库1

30、)创建用用户的方法法 首先先要用syystemm或syss用户登录录,得到:然后得到输输入用户信信息的界面面:注意:把角角色、直接接授予的系系统权限中中所有的选选项都选上上。最后点击创创建按钮,完完成创建。2)对已经经创建的用用户还可以以删除。3)用naavicaat把rooot.ssql导入入。1.6 本本章知识点点总结1、数据管管理技术发发展的几个个阶段:人人工管理阶阶段、文件件管理阶段段、数据库库管理阶段段、分布式式数据库管管理、面向向对象的数数据库管理理。2、DBSS包括:DDBMS、DB、DDBA等。3、数据库库系统的模模式:外模模式、模式式(概念模模式)、内内模式,它它们构成了了“

31、外模式/模式”和“模式/内内模式”两个映射射。4、数据模模型:层次次模型、网网状模型、关系模型型。5、关系模模式的表示示方法:关关系名(属属性名1,属属性名2,属性名n)6、关系数数据库,建建立在关系系模型基础础上,而形形成的数据据库。7、几个概概念:关系系二维表;元组记录录;属性字字段8、常用的的数据库管管理系统:Oraccle、 MySQQL、SQL Servver、DDB2、SSybasse 、FoxxPro、ACCEESS等等等。第2章 OOraclle 100g数据库库的SQLL语言与查查询2.1 SSQL语言言概述 SQQL(Sttructturedd Queery LLanguu

32、age)是是一种结构构化查询语语言,简称称为SQLL。它是一一种面向数数据库的通通用数据处处理语言规规范,能完完成数据查查询、插入入修改删除除数据、生生成修改和和删除数据据库对象、数据库安安全控制、数据库完完整性及数数据保护控控制等。我我们的重点点是CRUUD(crreatee、ressearcch、uppdatee、dellete)即即增删改查查。 SQQL的优点点:1)非非过程化语语言(只需需告诉系统统做什么、而不需告告诉它怎么么做);22)统一的的语言(DDBMS为为对数据库库操作的全全部任务都都统一在SSQL语言言中);33)它是所所有关系数数据库的公公共语言。2.2 OOraclle

33、 10g数据据库的数据据类型、运运算符和表表达式2.2.11 简单数数据类型1、nummber(p, ss) ,pp是数字的的整个位数数,是小数数点后的位位数2、varrcharr2(n),表示可可变长度的的字符串且且其最大长长度为n,nn不能超过过40000。3、chaar(n),表示固固定长度为为n的字符符串。4、datte,表示示日期,包包括年份、月份。5、nvaarchaar2,不区分分中英文,nvarrcharr2中存的的英文字母母也占两个个字节。6、nchhar,用用Uicoode字符符集存储定定长的字符符数据。7、CLOOB:存储储4GBB单字节字字符数据。(别用来来存中文)8、

34、BLOOB:用来来存储44GB无结结构的二进进制数据。9、timmestaamp10、biinaryy_flooat11、biinaryy_douuble2.2.22 运算符1、算术运运算符:+、-、*、/2、比较运运算符:=、!=()、=3、逻辑运运算符:aand、oor、noot4、范围运运算符:bbetweeenaand、not betwweenand5、列表运运算符:iin、noot inn6、is、not is2.2.33 表达式1、算术表表达式:用用算术运算算符连接的的表达式。2、关系表表达式:用用比较运算算符连接的的表达式。3、逻辑表表达式:用用逻辑运算算符连接的的表达式。2.3

35、 OOraclle 100g的SELEECT查询询语句1)查什么么;2)从从哪里查;3)需要什么条条件1、查看表表结构的命命令:deescriibe ttableenamee; 或ddesc tabllenamme;2.3.11 简单查查询(seelecttfromm结构)1、基本格格式如下 SELLECT *|字字段名列表表 FRROM 表表名;2、举例: 1)sselecct * fromm stuudentt; /查询询所有行所所有列 2)查查询指定的的某些列 3)查查询结果显显示时,有有它们的默默认显示规规则,如日日期型和字字符型的左左对齐,数数值型的右右对齐。 4)查查询的时候候可以

36、使用用算术运算算符在seelectt后,及对对字段进行行四则运算算。selecct sttudenntid,studdentnname,studdentaage+11 froom sttudennt;|字符串串连接运算算符 5)排排重disstincct 6)给给字段起别别名selecct sttudenntid 学号,sstudeentnaame 姓姓名,sttudenntsexx 性别 fromm stuudentt; 或者selecct sttudenntid as 学学号,sttudenntnamme ass 姓名,studdentssex aas 性别别 froom sttudenn

37、t;2.3.22 带条件的的简单查询询(sellectfrommwherre结构)1、基本格格式如下 SELLECT *|字字段名列表表 FROMM 表名WHERRE 条条件表达式式;2、具体实实例 1)单单条件的查查询 查查询工资高高于30000元的教教工信息 sselecct * fromm teaacherr wheere ssalarry30000 2)组组合条件的的查询 查查询工资不不低于30000元的的女教工信信息 sselecct * fromm teaacherr wheere ssalarry=33000 and sex=女2.3.33 单表查询询的应用1、关键字字DISTT

38、INCTT的使用查询教师表表看看有几几个教研室室 2、关键字字BETWWEENAND的使用查询总工资资在40000,77000之间的教教工信息selecct teeacheernamme,saalaryy+bonnus aas 总工工资 frrom tteachher wwheree sallary+bonuus beetweeen 40000 aand 77000;3、通配符符%和_的的使用(模模糊查询) 注意意:转义字字符的使用用。 liike s_% esscapee :这里里用到了转转义字符,表示的意意思是以“s_”开头的字字符串,而而s_% 等价于 s%selecct * fromm

39、 sc wherre sttudenntid likke ss_% esccape ; 注意:进行模糊糊查询时用用likee关键字,而而不用等号号=4、关键字字NULLL和NOTT NULLL的使用用查询没有奖奖金的教工工信息字段名 iis noot nuull对nulll或 noot nuull查询询时,不能能用等号= 而用iis5、用ORRDER BY子句句为查询结结果排序(多多字段排序序)6、字段运运算查询(可可以对字段段进行简单单的算术运运算,如+、-、*、/) 在naviicat的的命令行,可可以使用“set lineesizee 3000;”命令来设设置当行显显示字符的的数量。7、

40、别名的的使用 1)格格式:字段段名 AAS 别别名 2)注注意:(1)别名名不改变数数据库的值值。(2)如果果别名中含含有特殊字字符(如:空格)和和特殊的要要求(如:所有字母母大写显示示等)要用用双引号“”把别名名引起来。 3)举举例2.3.44 多表查询询多表查询是是指查询结结果要从两两个以上的的表中检索索结果,这这里仅仅介介绍一种简简单的多表表查询。查询“李寻寻欢”所在部门门的地址。查询“杨过过”所在部门门的电话。或者selecct deeparttmentttel fromm deppartmment wherre deeparttmenttid iin (sellect depaart

41、meentidd froom teeacheer whhere teacchernname=杨过);注意:1)字字符串只能能用单引号号,而不不能用双引引号”,双引引号有特殊殊的用途。 2)iin的用法法3、分析总总结: 1)注注意给表起起别名。 2)sselecct的后字字段名用“表名.字段段名|表别别名.字段段名”表示,特特别是查询询结果中有有的字段名名在froom后的表中都是相相同的,那那么这个字字段名必须须指出是哪哪个表的。如果没有有这种现象象,那么只只用字段名名即可。3)SQLL 标准指指定当为表表名创建别别名后,SSQL 语语句的其余余部分必须须使用该别别名引用表表(即不能能再使用原

42、原始表名)。2.3.55 子查询如果一个sselecct命令(查查询1)出出现在另一一个sellect命命令(查询询2)的一一个子句中中,则称查查询1是查查询2的子子查询,又又称为“嵌套查询询”。外层的的seleect语句句称为“父查询”,内层的的seleect语句句称为“子查询”。子查询询可以嵌套套多层,子子查询操作作的数据表表可以是父父查询不操操作的数据据表。查询所有高高于杨康工工资的教师师信息。selecct * fromm teaacherr wheere ssalarry(sselecct saalaryy froom teeacheer whhere teacchernname=杨

43、康);查询出跟李李寻欢在同同一个教研研室、而且工资资大于王五五的工资的所所有教员的的姓名和工工资。练习:查询与李寻寻欢在同一一个教研室室工作的教教师的姓名名。查询不于低低软件教研室室任何一名名教工工资资的教工姓姓名SELECCT TEEACHEERNAMME FRROM TTEAchhER wwheree sallary=alll(sellect salaary ffrom teaccher wherre sttaffrroom=软件)检索已经开开设课程的的部门信息息3、特点:1)子查询询的结果仅仅返回一行行(一个)记记录,这时时可以用算算术比较符符:、=、=、 BETWWEENANND 、I

44、N 、IS NNULL、 NOT、 ANDD、 OR 、子查询 ORRDER BY 字段11, 字段22 ASCC|DESCC第二天2.4 OOraclle 100g单行函函数和聚合合函数 函函数是一种种有0个或或多个参数数并且有一一个返回值值的程序,Oracle的函数主要分为两大类:单行函数和聚合函数(组函数)。SQL和PL/SQL中自带很多类型的函数,如字符、数字、日期、转换和混合型等多种函数用于处理单行数据,这些函数统称为单行函数,这些函数均可用于select、where、order by等子句中。当需要对查询结果的数据行的同类信息合并在一起操作时,就需要用聚合函数来汇总这些数据行;or

45、acle提供了基于组的多行函数,它们可以在select或select的having子句中使用。2.4.11 单行函数数单行函数对对查询的表表或视图的的每一行返返回一个结结果行,分分为:数值值函数、字字符函数、日期函数数、转换函函数等。单单行函数也也可以使用用在upddate的的set子子句中、iinserrt的vaaluess子句中、deleete的wwheree子句中等等,但重点点是用在sselecct子句。哑表:duual是ooraclle提供一一个特使的的表,主要要用于测试试函数。2.4.11.1 NNVL函数数因为在我们们的表中经经常会有nnull值值出现,而而nulll无法参与与其它

46、的运运算,如ssalarry+nuull是非非法的,为为了解决这这个问题,系系统提供了了NVL函函数专门处处理nulll。1)该函数数的格式:NVL(x1,xx2)其中x1,xx2都是表表达式,当当x1的值值为nulll时返回回x2的值值,否则返返回x1的的值。2)举例,找找出问题所所在先看上述语语句会出现现什么问题题,解决办办法如下:注意:x11、x2的的数据类型型要相匹配配。2.4.11.2 字符串函函数ASCIII(c):返回字符符c的ASSCII码码值(十进进制数)。CHR(ii):返回回整数i对对应的字符符。CONCAAT(C11,C2):连接字字符串C11和C2。注意一个字字符串的

47、连连接运算符符:|,如如:sellect 姓名:|tteachhernaame ffrom teaccherINITCCAP(CC):返回回字符串CC,并将CC中的每个个单词的第第一个字母母大写,其其它字母小小写。INSTRR(C1,C2,ii,j):在一个字字符串中搜搜索指定的的字符,返返回发现指指定的字符符的位置。C1是被被搜索的字字符串,CC2是搜索索的字符串串,i是搜搜索的开始始位置(默默认为1),jj是出现的的次数(默默认为1)例如:求“oraccle ttrainng”中从第11个字符开开始tr第2次出出现的位置置。Selecct innstr(oraccle ttrainning

48、,ra,1,22) frrom ddual;LENGTTH(C):返回字字符串C的的长度,注注意一个汉汉字和一个个字母的长长度都是11LOWERR(C):返回字符符串C的所所有字符为为小写。UPPERR(C):返回字符符串C的所所有字符为为大写。LPAD(C1, , C2):C1、C2均为为字符串,ii为整数。在C1的的左侧用CC2补足长长度i,可可多次重复复;如果ii小于C11的长度,只只返回i那那么长的CC1字符,其其它的被截截去;C22的缺省值值为单空格格。例如:在字字符串幸福的右边用用*补足到110个字符符,然后在在结果的左左边用&补足到117个字符符。SQL seleect LLPA

49、D(Rpadd(幸福福,100,*),177,&) FRROM DDUAL;说明:lppad是左左填充,rrpad是是右填充。LTRIMM(C)和和RTRIIM(C):分别是是删除C的的前导空格格和删除CC尾部空格格。TRIM(C):既既删除C的的前导空格格又删除CC尾部的空空格。SUBSTTR(sttringg,staart,ccountt):从母母串strring中中取从sttart开开始的coount个个字符作为为一个子串串返回。Replaace(sstrinng,s11,s2):用s22替换出现现在strring中中的s1字字符串。 如:seelectt repplacee(aaabb

50、cccddeeeaaa,aaa,AAA) FROMM DUAAL;TRANSSLATEE(C1,C2,CC3):它它是分级替替换的,具具体做法如如下:若在C1中中能找到与与C2全部部相同的,就就用C3把把相应的字字符全部代代替。(第第一级)结果:若在C1中中能找到与与C2部分分相同的,就就用C3中中与C2对对应位置上上的字符代代替(第二二级)。可可分如下三三种情况:I) 若若C2长度度等于C33的长度,做做对应位置置字符替换换。结果:Ii)若CC2长度大大于C3的的,相当于于把C3的的末尾加上上几个空串串直到与CC2长度一一样,然后后再做对应应位置字符符替换。结果:Iii)若若C2长度度小于C

51、33的,相当当于只保留留C3前面面的与C22长度的字字符串,然然后再做对对应位置字字符替换。实际上这这种情况与与I)是一一样的。结果:2.4.11.3 数值函数数1)ABSS(a):求指定数数a的绝对对值。2)EXPP(n):返回e的的n次幂。3)MODD(m,nn):返回回m除以nn的余数。4)ROUUND(nn1,n22): nn2=00的正整数数时返回nn1所保留留的小数位位数,其余余的被舍入入掉;n22工工龄*122作为条件件。2.4.11.5 转换函数 转转换函数是是在日期、字符和数数值之间的的相互转换换。to_chhar(nnumbeer/daate,formmat-mmodell

52、):按照照formmat-mmodell的格式把把数值nuumberr或日期ddate转转换为相应应的字符串串。1)例如:seleect tto_chhar(ssysdaate,yyyyy-mm-dd) froom duual;2)有关fformaat-moodel的的说明:(1)日期期的显示格格式:YYYY:4位年份份YY:两位位年份Year:年的英文文全名 如如nineeteenn nittyeigghtMM:月的的两位数字字Monthh:月的英英文全名 如MAYYMON:英英文月的前前三位简写写 如OCCTDAY:星星期几的英英文全名 如MondaayDD:2位位日期(2)数字字的显示格

53、格式:9:代表一一个数字位位0:代表数数字前面补补0,如tto_chhar(-12000,0000000.000)的结果:.:小数点点的位置,:标记数数字位置的的逗号L:根据数数据库字符符集加货币币符号 如如to_cchar(-12000,L99999.99);结果:$:给浮点点数增加$结果:To_chhar函数数中forrmat-modeel固定格格式: 9代表一个数数字0强迫0显示示$显示美元符符号L强制显示一一个当地的的货币符号号.显示一个小小数点,显示一个千千位分隔符符号to_daate(cc,formmat-mmodell):c表示字字符串,fformaat-moodel表表示一种特

54、特殊格式的的字符串。返回foormatt-moddel格式式的字符串串c所对应应的日期。其实该函函数将字符符串c转换换为datte数据类类型。如:to_nuumberr(c):c表示字字符串,fformaat-moodel表表示一种特特殊格式的的字符串。返回foormatt-moddel格式式的数字。其实该函函数将字符符串c转换换相应的数数值。2.4.22 聚合函数数(组函数数)2.4.22.1 聚合函函数的应用用1、MAXX(x):返回某个个字段的所所有值中的的最大值。2、MINN(x):返回某个个字段的所所有值中的的最小值。 例如如:查询教教工中工资资最高和最最低的员工工3、AVGG(x)

55、:返回指定定字段中的的平均值。注意avvg()函函数只对数数值型字段段使用,即即x的的数数值类型只只能是数值值型的,如如果空值,忽忽略不计。COUNTT(*):返回查询询中行的数数目,*表表示返回所所有的行,用用来统计一一个表中有有多少条记记录(包含含有空值的的记录)。SUM(xx):返回回选择列表表项目x的的数值的总总和。2.4.22.2 GRROUP BY子子句的应用用聚合函数一一般是处理理那些已经经分好组的的数据,分分组可以用用grouup byy子句来完完成。例如:统计各教研研室的人数数2、求各个个教研室中中的最高工工资 2.4.22.3 HAVIING与WWHEREE关键字的的使用这

56、两个都是是条件子句句,wheere主要要与sellect搭搭配使用,而而haviing只能能出现在有有grouup byy子句的ssql语句句中。注意意,聚合函函数不能出出现wheere子句句中。例题:1)查询教教研室工资资总和超过过100000元的教教研室2)查询除除了助教外外哪些教研研室的工资资总和多于于80000元。2.4.22.4 ORDEER BYY子句的使使用使用ordder bby子句可可以对查询询结果进行行排序,其其中包括升升序(assc,缺省省值)和降降序(deesc)。举例: Oraclle 100g集合运运算进行如下三三种集合运运算的条件件:字段个个数相同、对应列的的类型

57、匹配配。Unionn 并例如:结果是两个个查询结果果的并集,若若有重复的的记录,则则只取它们们中的一条条。Interrsectt 交结果为空3、Minnus 差差两个集合AA、B,AA-B的结结果是从AA中去掉AA与B共同同的元素而而剩余的元元素。A-B=AA-AB2.6作业业统计每个班班的学生数数统计每个专专业的学生生数查询每个教教研室中的的最低或最最高总工资资,并按总总工资降序序排列。查询每个多多于1人的的教研室中中最高和最最低总工资资,要求显显示出教研研室名、人人数、最低低工资和最最高工资。查询至少有有3人的教教研室的名名称及人数数。求每个教研研室的平均均工资(要要求看到教教研室名称称、

58、人数和和平均工资资)。第二天总结结单行函数聚合函数:min()、max()、sum()、avg()、counnt()等等Selecct查询语语句扩充 SSELECCT DDISTIINCT*,ccolummn aaliass, FFROM tabble1,tablle2WHERRE ccondiitionn(s)GROUUP BYY collumn HAVVING condditioon(s) ORDEER BYY coolumnn,exppr,alliasASCC|DESSC;三种集合运运算:unnion、inteersecct、miinusOraclle第三天天上午2.7深入入多表查询询2

59、.7.11 交叉连接接(广义笛笛卡尔积):1、广义笛笛卡尔积是是不带连接接谓词的连连接,两个表的的广义笛卡卡尔积即是是两表中元元组的交叉叉乘积,其其连接的结结果会产生生一些没有有意义的元元组,所以以这种运算算实际很少少使用。2、举例 seleect * froom sttudennt,sccore2.7.22等值与非非等值连接接查询1、等值连连接:连接接运算符为为 = 的的连接操作作1)连接条条件:.=.2)任何子子句中引用用表1和表表2中同名名属性时,都都必须加表表名前缀。引用唯一一属性名时时可以省略略表名前缀缀。3)举例:查询每个个学生及其其选修课程程的情况。selecct * fromm

60、 stuudentt st , sccore sc wwheree st.studdentiid=scc.stuudenttid 或selecct stt.*,ssc.* fromm stuudentt st,scorre scc wheere sst.sttudenntid=sc.sstudeentidd2、非等值值连接查询询:连接运运算符不是是 = 的连连接操作1)格式:.或. BEETWEEEN . AND .2)比较运运算符:、=、=、!=2.7.33自身连接接1、表与其其自己进行行连接,称称为表的自自身连接。2、需要给给表起别名名以示区别别,由于所所有属性名名都是同名名属性,因因此必

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论