操作Oracle数据库.ppt

上传人:小飞机 文档编号:6495305 上传时间:2023-11-06 格式:PPT 页数:57 大小:446KB
返回 下载 相关 举报
操作Oracle数据库.ppt_第1页
第1页 / 共57页
操作Oracle数据库.ppt_第2页
第2页 / 共57页
操作Oracle数据库.ppt_第3页
第3页 / 共57页
操作Oracle数据库.ppt_第4页
第4页 / 共57页
操作Oracle数据库.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《操作Oracle数据库.ppt》由会员分享,可在线阅读,更多相关《操作Oracle数据库.ppt(57页珍藏版)》请在三一办公上搜索。

1、第8章 JSP操作Oracle数据库,8,内容提要,本章介绍利用JDBC接口访问和操作Oracle介绍Oracle常用操作界面、Oracle数据库表以及建表规范。介绍如何利用JDBC操纵Oracle数据库介绍Oracle数据库的存储过程,以及如何在JSP程序中调用Oracle的存储过程,Oracle数据库概述,Larry Ellison是Oracle公司的董事长兼执行总裁,1977年在加利福尼亚的Redwood,和Robert Minor一起建立了Oracle公司。Oracle是在IBM的System/R(关系模型)的基础上,推出了第一个关系型数据管理系统,这也是第一个使用IBM的结构化查询语

2、言(SQL)的RDBMS。,Oracle的发展历史,Oracle数据库系统最早于1979年推出。1984年完成Oracle PC版。1997年发布Oracle8,1999年推出Oracle8i。2001年,Oracle公司在Oracle8i数据库的基础上推出了新一代基于Internet电子商务构架的网络数据库解决方案Oracle9i,2004年推出了Oracle10g,Oracle相关技术站点,安装Oracle数据库服务器,Oracle数据库服务器有适合不同层次需要的版本,可安装并运行在多种软、硬件平台上。这里介绍采用Windows2000/2003 Server作为操作系统,数据库服务器采用

3、Oracle9i Database for Windows企业版。,检测安装结果,Oracle常用操作界面,常用的Oracle操作界面为:SQL*Plus查询窗口、SQL Plus Worksheet窗口、企业管理器以及网络助手 SQL*Plus窗口,SQL Plus Worksheet窗口,企业管理器,Oracle的用户与表空间,Oracle数据库对象包括两大类:模式(Schema)对象和非模式(Not Schema)对象常用的模式对象包括:表(Table)、视图(View)、索引(Index)、聚簇(Cluster)、序列生成器(Sequence)、同义词(Synonym)、存储过程(St

4、ored Procedure)、函数(Function)、包(Package)、触发器(Trigger)、用户定义的数据类型(Type)、数据库链路(Database Link)和快照(Snapshot)等等。模式对象的特点是:这些对象是可以直接引用的逻辑结构,模式对象以及它们之间的联系构成了数据库的实体模型。常用的非模式对象包括:表空间(Table Space)、回退段(Rollback Segment)、用户(User)、角色(Role),资源文件(Profile)等。非模式对象不可以直接引用的逻辑结构。,创建表空间和用户,案例名称:创建表空间和用户程序名称:8-01.sql,Oracle

5、数据库表,基本语法,案例名称:创建用户表程序名称:8-02.SQLCreate Table sm_User(Stu_ID Number,Stu_Name Varchar2(10),Stu_Sex Varchar2(2);,基本数据类型,使用Create语句创建表,必须指定所有列的数据类型。基本数据类型总体上可以划分为五大类:文本型、数字型、日期型、LOB类型和RAW类型。从Oracle8i开始支持用户自定义的数据类型,自定义的数据类型是由多个基本数据类型组成的。,文本类型,有5种文本类型:Char(n):用来存储固定长度的字符串,最大长度由n来确定。如果该列中存储的长度不到n的长度,在后面补充

6、空格到n的长度,最大长度为2000。Varchar2(n):用来存储可变长度的字符串,最大长度由n来确定,Varchar2变量存储多少变量就占用多大空间。如果一个数据库列是Varchar2型的,最多可存储4000字节。NChar(n)和NVarchar(n):这两种数据类型在上面两种类型前面分别加了N,和Char和Varchar具有相同的的特性,主要区别是NChar与NVarchar2用于存储国际语言支持的数据。Long:Long数据类型的列是可变长度的,最多支持2GB。在Long列和Long类型的变量在使用的时候有许多限制:Long列不能出现在Select语句的Where字句、Group B

7、y字句和Order By字句中。Long数据类型可能会在Oracle以后的版本中被淘汰,当数据量很大的时候,最好采用Lob类型。,文本类型,案例名称:创建表程序名称:8-03.SQLCreate Table sm_TestSex(Stu_NameVarchar2(20),Stu_SexChar(1);,案例名称:插入数据程序名称:8-04.SQLInsert Into sm_TestSex(Stu_Name,Stu_Sex)Values(Jane,F);Insert Into sm_TestSex(Stu_Name,Stu_Sex)Values(Jane,女);,数字类型,数字(Number)

8、类型用于存储正负整数和浮点数,取值的范围从-1*10-130到9.9999*10125,超过范围将出错。可以在定义数字类型变量的时候规定总长度和小数点的位数。如:Number(P,S),意思是存储总的长度是P位,小数点后是S位,,数字类型,测试数字类型,案例名称:测试数字类型程序名称:8-05.SQLCreate Table sm_TestInt(Col1Number,Col2Number(3),Col3Number(2),Col4Number(4,3),Col5Number(2,-1),Col6Number(2,-2),Col7Number(*,1);,案例名称:插入数字程序名称:8-06.

9、SQLInsert into sm_TestInt(Col1)Values(314.15);Insert into sm_TestInt(Col2)Values(314.15);Insert into sm_TestInt(Col3)Values(314.15);Insert into sm_TestInt(Col4)Values(314.15);Insert into sm_TestInt(Col5)Values(314.15);Insert into sm_TestInt(Col6)Values(314.15);Insert into sm_TestInt(Col7)Values(314.

10、15);,日期类型,日期类型用来存储日期和时间信息。日期类型可以精确到秒,日期类型占7个字节的存储空间。每一个日期类型中包含:世纪(Century)、年(Year)、月(Month)、日(Day)、小时(Hour)、分(Minute)、秒(Second),Oracle的默认的日期格式是:DD-MON-YY,在SQL*Plus中查询日期时都按此格式显示。可以用Select sysDate From Dual取系统的时间。,插入日期,案例名称:插入日期程序名称:8-07.SQLCreate Table sm_Date(stu_No Number(4),stu_Birth Date);Insert

11、Into sm_Date(stu_No,stu_Birth)Values(1001,21-9月-04);Select*From sm_Date;,Lob数据类型,大对象(Large Object)数据类型存储非结构化的数据,比如一个二进制文件、一幅图片或者一个外部文件,有四种类型的Lob对象,Lob数据类型,案例名称:创建表程序名称:8-08.SQLCreate Table sm_TestLob(sm_No Char(4),sm_Clob Clob);,案例名称:插入Log对象程序名称:8-09.SQLInsert Into sm_TestLobValues(1001,hello,this i

12、s a nomal string!);,删除表,表数据的完整性,建表过程中的完整性规范包括六大基本约束:默认约束、非空约束、唯一性约束、Check约束、主键约束和外键约束,使用默认约束,案例名称:使用默认约束程序名称:8-10.SQLCreate Table sm_Marks(stu_NONumber,stu_MarkNumber Default(101);,测试默认约束,案例名称:测试默认约束程序名称:8-11.SQLInsert Into sm_Marks(stu_No)Values(100001);Select*From sm_Marks;,非空约束,案例名称:使用非空约束程序名称:8-

13、12.SQLCreate Table sm_NotNuLL(stu_IDNumber(8)Constraint idNotNull Not Null,stu_Name Varchar2(10),stu_Sex Varchar2(2);,3 唯一性约束,案例名称:创建唯一性约束程序名称:8-14.SQLCreate Table sm_Unique(stu_IDNumber(8)Constraint idUnique Unique,stu_Name Varchar2(10);,测试唯一性约束,案例名称:测试唯一性约束程序名称:8-15.SQLInsert into sm_Unique Values

14、(1111,szg);Insert into sm_Unique Values(1111,szg);,.4 Check约束,案例名称:建立Check约束程序名称:8-16.SQLCreate Table sm_Check(stu_ID Number(8),stu_Name Varchar2(10),stu_Sex Varchar2(1)Constraint sexCheck Check(stu_Sex in(M,F);,测试Check约束,案例名称:测试Check约束程序名称:8-17.SQLInsert Into sm_CheckValues(1112,周润发,M);Insert Into

15、sm_CheckValues(1112,周润发,T);,主键约束,案例名称:建立主键约束程序名称:8-18.SQLCreate Table sm_Primary(stu_ID Number(8)Constraint stuPri Primary Key,stu_Name Varchar2(10),stu_Sex Varchar2(1),测试主键约束,案例名称:测试主键约束程序名称:8-19.SQLInsert Into sm_PrimaryValues(1111,周慧敏,F);Insert Into sm_PrimaryValues(1111,周慧敏,F);Insert Into sm_Pri

16、maryValues(NULL,周慧敏,F);,外键约束,案例名称:创建外键约束程序名称:8-20.SQLCreate Table sm_BasicInfo(stu_ID Number Constraint sm_BIPK Primary Key,stu_Name Varchar(10)not null,stu_Sex Varchar(1)Constraint sm_CHK Check(stu_Sex in(M,F);Create Table sm_History(stu_HID Number Constraint sm_HPK Primary Key,stu_ID Number not nu

17、ll,Constraint sm_FK Foreign Key(stu_ID)References sm_BasicInfo);,测试外键约束,案例名称:测试外键约束程序名称:8-21.SQLInsert Into sm_HistoryValues(1111,1001);Insert Into sm_BasicInfoValues(1001,周润发,M);Insert Into sm_HistoryValues(1111,1001);,Oracle的JDBC驱动程序,Oracle提供了2种JDBC驱动程序:(1)JDBC OCI驱动程序(2)JDBC Thin驱动程序。使用JDBC OCI驱动

18、程序建立连接的语句如下:Connection con=DriverManager.getConnection(jdbc:oracle:oci8:db,scott,tiger);使用JDBC Thin驱动程序建立连接的语句如下:Connection con=DriverManager.getConnection(jdbc:oracle:thin:host:1521:db,scott,tiger);,加载JDBC驱动程序,使用JDBC访问Oracle数据库JAR包是classes12.zip和classes12.jar。根据Oracle的版本不同,JAR包一般不同。通常情况下,高版本的都兼容低版本

19、的。一般Oracle的服务器上都提供连接该服务器的驱动程序。,使用JDBC连接Oracle数据库,案例名称:使用JDBC连接Oracle数据库程序名称:8-22.jsp,访问Oracle的常用格式,案例名称:新建数据库表程序名称:8-23.SQL,案例名称:添加测试数据程序名称:8-24.SQL,格式一的Oracle版本,案例名称:数据访问基本格式一);String url=jdbc:oracle:thin:+serverName+:1521:SID名称;Connection conn=DriverManager.getConnection(url,用户名,密码);Statement stmt

20、=conn.createStatement();ResultSet rs=stmt.executeQuery(DQL语句);/如果是数据查询stmt.executeUpdate(DML语句);/如果是数据操作,格式二的Oracle版本,案例名称:数据访问基本格式二);String url=jdbc:oracle:thin:+serverName+:1521:SID名称;Connection conn=DriverManager.getConnection(url,用户名,密码);Statement stmt=connect.createStatement(结果集类型,结果集并发性);Resul

21、tSet rs=stmt.executeQuery(DQL语句);/如果是数据查询stmt.executeUpdate(DML语句);/如果是数据操作,Oracle数据库表的分页显示,案例名称:Oracle数据库表的分页显示程序名称:节选自8-25.jsp,格式三的Oracle版本,案例名称:数据访问基本格式三);String url=jdbc:oracle:thin:+serverName+:1521:SID名称;Connection conn=DriverManager.getConnection(url,用户名,密码);PreparedStatement stmt=connect.Pre

22、paredStatement(带参数的SQL语句);pst.setInt(设置参数的值);ResultSet rs=pst.executeQuery();/如果是数据查询stmt.executeUpdate();/如果是数据操作,案例名称:执行带参数的SQL语句程序名称:8-26.jsp,Oracle的存储过程,存储过程是Oracle数据库中一些程序的集合使用PL/SQL编写,可以被应用程序调用。,PL/SQL的基本概念,PL/SQL是Oracle对SQL规范的扩展,是一种块结构语言。构成一个PL/SQL程序的基本单位(过程、函数和无名块)是逻辑块。PL/SQL与一般结构化语言一样,有变量、常

23、量、控制语句等。PL/SQL与sql一样,不区分大小写。,PL/SQL的存在形式,案例名称:匿名块的创建程序名称:8-27.SQL,一个匿名块调用了一个命名块,案例名称:一个匿名块调用了一个命名块程序名称:8-28.SQL,定义存储过程,案例名称:定义存储过程程序名称:8-29.SQL,使用PL/SQL编写存储过程,案例名称:定义存储过程程序名称:8-30.SQL,调用存储过程,案例名称:调用存储过程程序名称:8-31.SQL,JSP操作Oracle的存储过程,格式四的Oracle版本,案例名称:数据访问基本格式四);String url=jdbc:oracle:thin:+serverNam

24、e+:1521:SID名称;Connection conn=DriverManager.getConnection(url,用户名,密码);CallableStatement cs=con.prepareCall(call 存储过程名(?,?)cs.registerOutParameter(输出参数位置,.输出参数的类型);cs.setInt(1,设置参数的值);/设置输入参数的值cs.execute();/执行存储过程String strBack=cs.getString(2)/得到输出参数的值,调用带输入输出参数的存储过程,案例名称:利用程序调用存储过程程序名称:8-32.jsp,小结,本

25、章介绍利用JDBC接口访问和操作Oracle介绍Oracle常用操作界面、Oracle数据库表以及建表规范。介绍如何利用JDBC操纵Oracle数据库介绍Oracle数据库的存储过程,以及如何在JSP程序中调用Oracle的存储过程,本章习题,8-1.Oracle与Access的联系和区别?8-2.如何在SQL*Plus中建立表空间、用户以及表?8-3.六大约束包括哪些?如何使用?外键约束的功能是什么?8-4.比较操作SQL Server数据库的四大基本格式和操作Access的四大基本格式的异同。8-5.存储过程有什么作用?如何建立和调用存储过程?8-6.如何利用JDBC调用带参数的存储过程?程序如何与存储过程传递参数?8-7.完善程序8-25,添加功能:(1)将姓名字段加上超级链接;(2)修改某人的信息;(3)删除某人的信息;(4)实现模糊查询,所谓的模糊查询就是输入某人姓名的某个字可以将其查找出来,用Like子句实现。(上机练习),

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号