《Java企业数据库Oracle应用研讨5821.docx》由会员分享,可在线阅读,更多相关《Java企业数据库Oracle应用研讨5821.docx(348页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、更多企业学院:./Shopp/中小企业管理理全能版183套讲座+897000份资料./SShop/440.shttml总经理、高层层管理49套讲座+116388份份资料./SShop/338.shttml中层管理学院院46套讲座+66020份资料./SShop/339.shttml国学智慧、易易经46套讲座./SShop/441.shttml人力资源学院院56套讲座+227123份份资料./SShop/444.shttml各阶段员工培培训学院77套讲座+ 324份资料./SShop/449.shttml员工管理企业业学院67套讲座+ 8720份份资料./SShop/442.shttml工厂生产
2、管理理学院52套讲座+ 139200份资料./SShop/443.shttml财务管理学院院53套讲座+ 179455份资料./SShop/445.shttml销售经理学院院56套讲座+ 143500份资料./SShop/446.shttml销售人员培训训学院72套讲座+ 4879份份资料./SShop/447.shttml西安新展信息技技术服务有限限公司指定教教材高级IT软件工工程师培训系系列Java 企业业数据库Orracle应应用西安新展信息技技术服务有限限公司 编著学员培训用书第二学期西安新展信息技技术服务有限限公司内容简介XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
3、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
4、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.图书在版编目(CIP)数据 JaavaE
5、E设设计模式/西安新展软件培训中心西西安中国版本图书馆馆CIP数据核核字(20009)第00011号 策 划:XXX主 编:XXX责任编辑:XXXX印 刷:XXXXXXX版 次:2009年第第一版印 数:100000册定 价:1000.00元(全全套5册)编 委 会策 划:杨兆峰主 编:杨兆峰执行主编:付永永杰责任编辑:付永永杰编 委:许天岭 付永杰 樊凯 孙文博 苏立立春 孙静伟 沈扬 李国庆编 者:付永杰 许天岭 樊凯前言 西安新展信息技术术服务有限公公司目录第一章 走进OOraclee1第二章 SQLL数据操作和和查询23第三章 常用函函数、事务和和锁51第四章 表空间间、数据库对对象7
6、1第五章 数据库库设计89第六章 PL/SQL程序序设计103第七章 子程序序和程序包131第八章 游标、内内置程序包153第九章 触发器器、数据字典典173第十章 数据库库管理193附录 数据库导导入导出211第1章走进Oraclle主要内容 Oracle安安装 Oracle创创建用户和角角色 客户端链接Orracle服服务器1. Oracle简简介在第一学期已经经接触过关系系型数据库SSQL Seerver,对对数据库、表表、记录、表表的增删改查查操作等这些些基本的概念念已经了解,接接下来我们进进入当今主流流数据库Orracle的的学习。Orracle是是基于对象的的关系型数据据库,Ora
7、acle也是是用表的形式式对数据存储储和管理,并并且在Oraacle的操操作中添加了了一些面向对对象的思想。Oracle数数据库是Orracle(中中文名称叫甲甲骨文)公司司的核心产品品,Oraccle数据库库是一个适合合于大中型企企业的数据库库管理系统。在在所有的数据据库管理系统统中(比如:微软的SQQL Serrver,IIBM的DBB2等),OOraclee的市场占有有率最高,显显然Oraccle的主要要用户涉及面面非常广,包包括:银行、电电信、移动通通信、航空、保保险、金融、电电子商务和跨跨国公司等。OOraclee产品是免费费的,可以在在Oraclle官方网站站上下载到安安装包,但是
8、是Oraclle服务是收收费的。在JJava开发发中,Oraacle数据据库是非常理理想的选择。Oracle公公司成立以来来,从最初的的数据库版本本到Oraccle7、OOraclee8i、Orracle99i,Oraacle100g到Oraacle111g,虽然每每一个版本之之间的操作都都存在一定的的差别,但是是Oraclle对数据的的操作基本上上都遵循SQQL标准。因因此对Oraacle开发发来说版本之之间的差别不不大。 很多人没有学习习Oraclle就开始发发怵,因为人人们在误解OOraclee,认为Orracle太太难学了,认认为Oraccle不是一一般人用的数数据库,其实实任何数据库
9、库对应程序研研发人员来说说,都是大同同小异,因为为目前多数数数据库都支持持标准的SQQL,SQLL是程序研发发人员对数据据库操作的工工具。在Orracle这这本书中,我我们能学习到到: Oracle的的安装 Oracle数数据管理 Oracle锁锁和事务 PL/SQL编编程 Oracle子子程序 游标和触发器 Oracle基基本管理由于在第一学期期已经接触了了SQL SServerr,多以学习习Oraclle不会很难,主要要是实践,因因此在本书的的学习中,认认真的完成上上机练习是学学习好本书的的基础。接下来我们先从从Oraclle安装开始始,接触一些些Oraclle中基本的的概念。2. Ora
10、cle安安装Oracle数数据库产品是是免费的,我我们可以从OOraclee的官方网站站()下载到程序序安装包,OOraclee在winddows下的的安装非常方方便,安装开开始后,一直直点击安装程程序的“下一一步”即可。1. 下载Oraclle10g后后,解压到一一个文件夹下下,单击“setupp.exe”文件即可启启动安装界面面。如下图:图1 Oraacle安装装启动界面Oracle主主目录位置就就是Oraccle准备安安装的位置,称称为“Oraclle_Homme”,一般Orracle根根据当前计算算机的硬盘大大小默认给出出一个合适的的位置。Orracle安安装时可以只只安装Oraacl
11、e软件件,然后单独独创建数据库库,也可以在在上图中选中中“创建启动动数据库”复复选框,在安安装安装Orracle产产品时,同时时创建一个数数据库,对初初学者来说,推推荐这样安装装。填写全局局数据库名,以以及管理员的的密码。全局局数据库名是是数据库在服服务器网络中中的唯一标识识。2. 点击“下一步”,就就会出现如下下图内容,开开始对Oraacle服务务器进行环境境检查,主要要查看服务器器是否符合OOraclee安装的条件件,比如操作作系统是否支支持、系统内内存是否符合合Oraclle安装的最最低要求等。图2 Oraacle安装装前环境检查查3. Oracle检检查通过后,单单击“下一步步”,就会
12、列列出所有安装装Oraclle过程中的的默认选项。图3 Oraacle默认认安装设置4. 单击“安装”按按钮,进入安安装界面,这这一过程经历历时间比较长长,根据计算算机的性能不不同有很大差差别。图4 Oraacle安装装5. 上图完成后,进进入了各种OOraclee工具的安装装阶段,包括括网络配置向向导,iSQQL*pluus等(后面面课程中讲解解)。如下图图所示:图5 Oraacle各种种工具的安装装6. 接下来自动启动动DBCA(DDatabaase Coonfiguuratioon Asssistannt)进入创创建默认数据据库阶段。图6 DBCCA下安装数数据库Oraclee中的数据库
13、库主要是指存存放数据的文文件,这些文文件在Oraacle安装装完成后,在在计算机硬盘盘上都能找到到,包括数据据文件,控制制文件和数据据库日志文件件。数据库创建后会会有一系列为为该数据库提提供服务的内内存空间和后后台进程,称称为该数据库库的实例。每每一个数据库库至少会有一一个实例为其其服务。实例例中的内存结结构称为系统统全局区(SSGA),系系统会根据当当前计算机系系统的性能给给SGA分配配非常可观的的内存空间。Oracle创创建数据库不不能像SQLL Servver那样用用一个简单的的creatte dattabasee命令就能完完成,在创建建数据库的过过程中还需要要配置各种参参数。虽然有有D
14、BCA工工具向导,但但是仍然需要要进行比较麻麻烦的配置。虽然一个Oraacle数据据库服务器中中可以安装多多个数据库,但但是一个数据据库需要占用用非常大的内内存空间,因因此一般一个个服务器只安安装一个数据据库。每一个个数据库可以以有很多用户户,不同的用用户拥有自己己的数据库对对象(比如:数据库表),一一个用户如果果访问其他用用户的数据库库对象,必须须由对方用户户授予一定的的权限。不同同的用户创建建的表,只能能被当前用户户访问。因此此在Oraccle开发中中,不同的应应用程序只需需使用不同的的用户访问即即可。7. 数据库创建完毕毕后,需要设设置数据库的的默认用户。OOraclee中为管理员员预置
15、了两个个用户分别是是sys和ssystemm。同时Orracle为为程序测试提提供了一个普普通用户sccott,口口令管理中,可可以对数据库库用户设置密密码,设置是是否锁定。 Oraclle客户端使使用用户名和和密码登录OOraclee系统后才能能对数据库操操作。图7 DBCCA下的口令令管理图8 为syystem,sys,sscott用用户设置密码码默认的用户中中,sys和和systeem用户是没没有锁定的,安安装成功后可可以直接使用用,scottt用户默认认为锁定状态态,因此不能能直接使用,需需要把scoott用户设设定为非锁定定状态才能正正常使用。这一步完成后后,Oraccle系统安安装
16、成功。Oracle数数据库中,默默认情况下,所所有系统的数数据,SQLL关键字等都都是大写的,在在操作过程中中,Oraccle会自动动把这些内容容转换为大写写,因此用户户操作时不需需考虑大小写写问题,一般般情况下,为为了良好的程程序风格,程程序中建议关关键字用大写写,非关键字字可以使用小小写。3. Oracle客客户端工具Oracle服服务器安装成成功后,就可可以通过客户户端工具连接接Oraclle服务器了了,可以到OOraclee官方下载OOraclee专用的客户户端软件,大大多客户端工工具都是基于于Oraclle客户端软软件的。接下下来介绍几种种常用的Orracle客客户端工具。 SQL*
17、Pluus工具该工具是Oraacle系统统默认安装下下,自带的一一个客户端工工具。在wiindowss命令行中输输入“sqlpllusw”命令,就能能够启动该工工具了。图9 SQLL*Pluss工具输入用户名和密密码后,如果果SQL*PPlus与数数据库服务器器在同一台计计算机上,并并且当前服务务器下只有一一个数据库实实例,那么“主主机字符串”可以不用填写。SQL*Pluus工具虽然然是Oraccle自带的的工具,但是是在现实开发发中,基于该该环境对开发发不方便,因因此很少使用用。SQL*Pluus连接成功功后就如图所所示:图10 SQQL*Pluus工具登录录后 SQL*Pluus命令行工工
18、具该命令行工具,提提供了与数据据库交互的能能力和维护数数据库的能力力,包括了OOraclee自带的SQQL*Pluus工具的全全部功能,在在Oraclle管理中经经常使用。在在命令行中输输入:“sqlpllus /nnolog”即可启动该该工具。如下下图:图11 启动动SQL*PPlus命令令行工具输入“sqllplus/nologg”命令后,只只是启动了一一个客户端进进程,并没有有与服务器连连接,连接到到Oraclle服务器的的命令是:conn 用户户名/密码 as 连接接身份服务务器连接字符符串说明:1. 连接身份:表示示该用户连接接后拥有的权权限。 sysdba: 即数据库库管理员,权权
19、限包括:打打开数据库服服务器、关闭闭数据库服务务器、备份数数据库、恢复复数据库、日日志归档、会会话限制、管管理功能、创创建数据库。ssys用户必必须用syssdba身份份才能登录,ssystemm用户可以用用普通身份登登录。 sysyopeer:即数据据库操作员,权权限包括:打打开数据库服服务器、关闭闭数据库服务务器、备份数数据库、恢复复数据库、日日志归档、会会话限制。 normal:即普通用户户,权限只有有查询某些数数据表的数据据。默认的身身份是norrmal用户户。2. 客户端工具可以以根据“服务务器连接字符符串”对服务务器进行连接接,有了连接接字符串后客客户端就可以以像操作本机机一样操作
20、远远程数据库,因因此“服务器器连接字符串串”的配置也也叫本地网络络服务配置,如如果SQL*Plus工工具启动在服服务器上,并并且服务器上上只有一个数数据库实例的的情况下,连连接字符串可可以缺省,在在连接字符串串中包括连接接服务器的协协议,服务器器的地址,服服务器的端口口等设置,OOraclee服务名等,该该配置文件在在Oraclle安装目录录下的: nnetworrk/ADMMIN/ ttnsnammes.orra。该文件件是一个文本本文件,用记记事本打开后后如下所示:图12 服务务器连接字符符串配置 配置本地网络服服务名本地网络服务务名,即客户户端与服务器器的连接字符符串,本地网网络服务名是
21、是客户端的配配置,Oraacle客户户端安装后,可可以使用客户户端自带的网网络配置向导导(Net Confiigurattion AAssisttant)进进行配置:1. 启动Net CConfigguratiion Asssistaant。选择择“本地Neet服务名配配置”选项。如如下图所示:图13 启动动Net CConfigguratiion Asssistaant2. 选择“下一步”,本本步骤可以对对本地网络服服务名进行添添加,删除,测测试是否正常常连接等操作作,选择“添添加”选项。图14 Neet Connfigurrationn Assiistantt3. 点击“下一步”,填填写服
22、务名,该该服务名就是是Oraclle安装时(图图1),为数数据库取的全全局数据库名名。图15 服务务名配置4. 点击“下一步”,选选择服务需要要的协议,默默认是TCPP协议。推荐荐使用默认的的TCP协议议。图16 选择择协议5. 点击“下一步”,输输入主机名,主主机名可以是是计算机名称称,也可以是是一个IP地地址,主机如如果是本机,可可以使用本机机计算机名称称、“locallhost”、“127.00.0.1”、或者本机机的IP地址址。图17 输入入主机名和端端口6. 单击“下一步”,选选择“是,进进行测试”选选项。进入下下图界面。图18 测试试成功在测试时,默认认采用的用户户名和密码是是sy
23、steem/mannager进进行测试,如如果用户syystem的的密码不是“managger”,有可能测测试通不过,更更改登录后,输输入正确的用用户名和密码码后再进行测测试即可。7. 测试成功后,单单击“下一步步”,出现如如下界面,这这一步是为本本地网络服务务命名,即图图12中的服服务器连接字字符串名。图19 为网网络服务名命命名点击“下一步步”,配置就就完成了,进进入tnsnnames.ora文件件中查看,就就出现了如图图12中的内内容。 PL/SQL Develloper工工具在实际Oraccle开发中中,经常使用用一个功能强强大的第三方方工具:“PL/SQQL Devvelopeer”
24、工具。PLL/SQL Develloper基基本上可以实实现Oraccle开发中中的任何操作作。它运行在在客户端时必必须先安装OOraclee客户端,并并且通过网络络配置向导配配置网络服务务名后才能正正常与服务器器连接。图20 PL/SQL DDevelooper4. Oracle服服务Oracle在在windoows中安装装完成后,会会安装很多服服务,下面介介绍几个主要要的服务。图21 Oraacle服务务 OracleSServicce+服务名名,该服务是是数据库启动动的基础,只只有该服务启启动了,Orracle数数据库才能正正常启动。这这是必须启动动的服务。 OracleOOraDb11
25、0g_hoome1TNNSListtener,该该服务是服务务器端为客户户端提供的监监听服务,只只有该服务在在服务器上正正常启动,客客户端才能连连接到服务器器。该监听服服务接收客户户端发出的请请求,然后将将请求传递给给数据库服务务器。一旦建建立了连接,客客户端和数据据库服务器就就能直接通信信了。 OracleOOraDb110g_hoome1iSSQL*Pllus,该服服务提供了用用浏览器对数数据库中数据据操作的方式式。该服务启启动后,就可可以使用浏览览器进行远程程登录并进行行数据库操作作了。如下图图所示:图22 iSQQL*Pluus OracleDDBConssole+服服务名,Orrac
26、le110g中的一一个新服务。在在Oraclle9i之前前,Oraccle官方提提供了一个基基于图形界面面的企业管理理器(EM),从从Oraclle10g开开始,Oraacle提供供了一个基于于B/S的企企业管理器,在在操作系统的的命令行中输输入命令:eemctl startt dbcoonsolee,就可以启启动OraccleDbCConsolle服务,如如下图所示:图23 EM服服务的启动服务启动之后后,就可以在在浏览器中输输入上图中进进入EM的地地址,使用BB/S方式管管理Oraccle服务器器。5. Oracle启启动和关闭OracleSServicce启动动后后,就可以对对数据库进行
27、行管理了,OOraclee的启动和关关闭是最基本本的命令,在在SQL*PPlus中,启启动Oraccle必须是是sys用户户,命令格式式是:startupp openn图24 Oraacle服务务启动Oraclee服务关闭用用命令:shhutdowwn immmediatte图25 Oraacle服务务关闭6. Oracle用用户和权限Oracle中中,一般不会会轻易在一个个服务器上创创建多个数据据库,在一个个数据库中,不不同的项目由由不同的用户户访问,每一一个用户拥有有自身创建的的数据库对象象,因此用户户的概念在OOraclee中非常重要要。Oraccle的用户户可以用CRREATE USE
28、R命命令来创建。其其语法是:CREATEE USERR 用户名 IDENTTIFIEDD BY 口口令 ACCCOUNTT LOCKK|UNLOOCK说明:LOCK|UUNLOCKK创建用户时时是否锁定,默默认为锁定状状态。锁定的的用户无法正正常的登录进进行数据库操操作。比如创建一个个用户jerrry,密码码是tom,默默认非锁定,格格式是:SQL CRREATE USER jerryy2 IDENNTIFIEED BY tom 33 ACCCOUNT UNLOCCK;Oracle在在SQL*PPlus中的的命令以分号号(;)结尾尾,代表命令令完毕并执行行,系统同时时会把该命令令保存在缓存存中
29、,缓存中中只保存最近近执行过的命命令,如果重重新执行缓存存中的命令,直直接使用左斜斜杠符号(/)。如果命命令不以分号号结尾,该命命令只是写入入缓存保存起起来,但并不不执行。尽管用户成功功创建,但是是还不能正常常的登录Orracle数数据库系统,因因为该用户还还没有任何权权限。如果用用户能够正常常登录,至少少需要CREEATE SSESSIOON系统权限限。Oraclee用户对数据据库管理或对对象操作的权权利,分为系系统权限和数数据库对象权权限。系统权权限比如:CCREATEE SESSSION,CCREATEE TABLLE等,拥有有系统权限的的用户,允许许拥有相应的的系统操作。数数据库对象权
30、权限,比如对对表中的数据据进行增删改改操作等,拥拥有数据库对对象权限的用用户可以对所所拥有的对象象进行对应的的操作。还有一个概念念就是数据库库角色(roole),数数据库角色就就是若干个系系统权限的集集合。下面介介绍几个常用用角色: CONNECTT角色:主要应用在在临时用户,特特别是那些不不需要建表的的用户,通常常只赋予他们们CONNEECT roole。COONNECTT是使用Orracle的的简单权限,拥有CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。 RESOURCCE角色:更可靠和正正式的数据库库用户可以授授予RESOOURCE
31、role。RRESOURRCE提供给给用户另外的的权限以创建建他们自己的的表、序列、过过程(proocedurre)、触发发器(triigger)、索索引(inddex)等。 DBA角色:DDBA roole拥有所所有的系统权权限-包括无限制制的空间限额额和给其他用用户授予各种种权限的能力力。用户syystem拥拥有DBA角角色。一般情况下,一一个普通的用用户(如sccott),拥拥有CONNNECT和RRESOURRCE两个角角色即可进行行常规的数据据库开发工作作。可以把某个权权限授予某个个角色,可以以把权限、角角色授予某个个用户。系统统权限只能由由DBA用户户授权,对象象权限由拥有有该对象
32、的用用户授权,授授权语法是: GRANT角角色|权限 TO 用户户(角色)比如给Jerrry用户授授权CONNNECT和RRESOURRCE的方法法是:SQL GRRANT CCONNECCT TO jerryy;授权成功。SQL GRRANT RRESOURRCE TOO jerrry;授权成功。SQL回收权限的语语法是:REVOKEE 角色|权权限 FROOM 用户(角角色)修改用户的密密码语法是:ALTER USER 用户名 IIDENTIIFIED BY 新密密码。修改用户处于于锁定(非锁锁定)状态ALTER USER 用户名 AACCOUNNT LOCCK|UNLLOCK7. 本章总
33、结 Oracle是是基于对象的的关系型数据据库,Oraacle产品品免费,服务务收费。 Oracle安安装后默认会会有两个管理理员用户(ssystemm,sys)和和一个普通用用户scottt。 Sql*pluus是Oraacle管理理和数据操作作的客户端工工具。 客户端链接服务务器前,服务务器要启动监监听服务,并并且客户端工工具要安装OOraclee客户端,并并且在客户端端要建立本地地网络服务名名。 Oracle服服务和监听启启动后才能对对数据库进行行操作。 用startuup命令启动动数据库,用用shutddown命令令关闭数据库库。 Oracle的的角色包括了了一系列系统统权限和普通通对
34、象权限,可可以把权限授授权给角色,把把权限或者角角色授权给用用户。8. 本章练习1. 描述Oraclle安装过程程中的关键点点。2. 描述创建本地网网络服务名的的步骤。3. 描述Oraclle主要服务务的作用。4. Oracle使使用什么命令令才能启动和和关闭。5. 什么是Oraccle权限和和角色?他们们的关系是什什么?6. 创建一个用户,并并授权CONNNECT和和RESOUURCE。章节知识结构图图第2章SQL数据操作作和查询主要内容 Oracle数数据类型 SQL建表和约约束 SQL对数据增增删改 SQL查询 Oracle伪伪列1. SQL简介在第一学期的SSQL Seerver学学习
35、中,已经经知道,SQQL是结构化化查询语言(SStructtured Queryy Langguage),专门用于数据存取、数据更新及数据库管理等操作。并且已经学习了用SQL语句对数据库的表进行增删改查的操作。在Oraclee开发中,客客户端把SQQL语句发送送给服务器,服服务器对SQQL语句进行行编译、执行行,把执行的的结果返回给给客户端。OOraclee SQL语语句由如下命命令组成: 数据定义语言(DDDL),包包括CREAATE(创建建)命令、AALTER(修修改)命令、DDROP(删删除)命令等等。 数据操纵语言(DDML),包包括INSEERT(插入入)命令、UUPDATEE(更新
36、)命命令、DELLETE(删删除)命令、SSELECTT FOOR UPDDATE(查查询)等。 数据查询语言(DDQL),包包括基本查询询语句、Orrder BBy子句、GGroup By子句等等。 事务控制语言(TTCL),包包括COMMMIT(提交交)命令、SSAVEPOOINT(保保存点)命令令、ROLLLBACK(回回滚)命令。 数据控制语言(DDCL),GGRANT(授授权)命令、RREVOKEE(撤销)命命令。目前主流的数据据库产品(比比如:SQLL Servver、Orracle)都都支持标准的的SQL语句句。数据定义义语言,表的的增删改操作作,数据的简简单查询,事事务的提交和
37、和回滚,权限限的授权和撤撤销等,Orracle与与SQL SServerr在操作上基基本一致。2. Oracle数数据类型Oracle数数据库的核心心是表,表中中的列使用到到的常见数据据类型如下:类型含义CHAR(leength)存储固定长度的的字符串。参参数lenggth指定了了长度,如果果存储的字符符串长度小于于lengtth,用空格格填充。默认认长度是1,最最长不超过22000字节节。VARCHARR2(lenngth)存储可变长度的的字符串。llengthh指定了该字字符串的最大大长度。默认认长度是1,最最长不超过44000字符符。NUMBER(p,s)既可以存储浮点点数,也可以以存储
38、整数,pp表示数字的的最大位数(如如果是小数包包括整数部分分和小数部分分和小数点,pp默认是388为),s是是指小数位数数。DATE存储日期和时间间,存储纪元元、4位年、月月、日、时、分分、秒,存储储时间从公元元前47122年1月1日日到公元后44712年112月31日日。TIMESTAAMP不但存储日期的的年月日,时时分秒,以及及秒后6位,同同时包含时区区。CLOB存储大的文本,比比如存储非结结构化的XMML文档BLOB存储二进制对象象,如图形、视视频、声音等等。表1 Oraacle的部部分数据类型型对应NUMBBER类型的的示例:格式输入的数字实际的存储NUMBER1234.5667123
39、4.5667NUMBER(66,2)123.45667123.46NUMBER(44,2)12345.667输入的数字超过过了所指定的的精度,数据据库不能存储储表2 Nummber示例例对于日期类型型,可以使用用sysdaate内置函函数可以获取取当前的系统统日期和时间间,返回DAATE类型,用用systiimestaamp函数可可以返回当前前日期、时间间和时区。图1 syssdate和和sysTiimestaampOraclee的查询中,必必须使用“selecct 列 from 表表”的完整语语法,当查询询单行函数的的时候,frrom后面使使用DUALL表,duaal表在系统统中只有一行行一
40、列,该表表在输出单行行函数时为了了selecctfroom的语法完完整性而使用用。3. 创建表和约束Oracle创创建表使用CCREATEE TABLLE命令。创建约束使使用如下命令令:ALTER TTABLE 表名 ADDD CONNSTRAIINT 约束束名 约束内内容。不论创建表还是是约束,与SSQL Seerver基基本相同,注注意:在Orracle中中defauult是一个个值,而SQQL Serrver中ddefaullt是一个约约束,因此OOraclee的defaault设置置可以在建表表的时候创建建。比如创建建一个学生信信息表的约束束。代码演示:Orracle创创建表和约束束C
41、REATE TABLEE INFOOS( STUIDD VARCCHAR2(7) NOOT NULLL, -学号 学号=S+班号+2位序号 STUNAAME VAARCHARR2(10) NOT NULL, -姓名 GENDEER VARRCHAR22(2) NNOT NUULL, -性别 AGE NNUMBERR(2) NNOT NUULL, -年龄 SEAT NUMBEER(2) NOT NNULL, -座号 ENROLLLDATEE DATEE, -入学时间间 STUADDDRESSS VARCCHAR2(50) DDEFAULLT 地址不详, -住址 CLASSSNO VAARCHAR
42、R2(4) NOT NNULL -班号 班号=学期序号+班级序号 )/ ALTER TTABLE INFOSS ADD CONSTTRAINTT PK_IINFOS PRIMAARY KEEY(STUUID) /ALTER TTABLE INFOSS ADD CONSTTRAINTT CK_IINFOS_GENDEER CHECK(GGENDERR = 男男 OR GENDEER = 女) /ALTER TTABLE INFOSS ADD CONSTTRAINTT CK_IINFOS_SEAT CHECK(SSEAT =0 ANND SEAAT =0 ANDD AGE=10011 ANDD C
43、LASSSNO=2001 AND CLASSSNO=2999) /ALTER TTABLE INFOSS ADD CONSTTRAINTTS UN_STUNAAME UNNIQUE(STUNAAME) /代码解析: 在Oraclee代码中,“/”执行缓存区区中的语句,由由于缓冲区中中只存储一条条刚刚保存过过语句,由于于每条语句没没有用分号结结尾,只是保保存在缓冲区区,因此每条条语句后面都都有单独一行行“/”。 创建一个主键约约束。 与 一起创建各各种checck约束。其其中是唯一约束束,表示该列列值是唯一的的,列中的值值不能重复。Oracle中中创建外键约约束与SQLL Servver相同。比比如:现有成成绩表定义如如下:代码演示:Orracle创创建表和约束束CREATE TABLEE SCORRES( IDD NUMBBER , -IID TEERM VAARCHARR2(2),-学期 S1或S2STUID VARCHHAR2(77) NOTT NULLL,-学号EXAMNOO VARCCHAR2(7) NOOT NULLL,-考号 E+班号+序号WRITTEENSC