版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle数数据库应用贵州鸿皓教育机机构目录TOC o 1-3 h z u HYPERLINK l _Toc 第一章 初识OOraclee PAGEREF _Toc h 4 HYPERLINK l _Toc 1.1 Oraacle简介介 PAGEREF _Toc h 5 HYPERLINK l _Toc 1.2 Oraacle安装装 PAGEREF _Toc h 6 HYPERLINK l _Toc 1.3 Oraacle客户户端工具 PAGEREF _Toc h 111 HYPERLINK l _Toc 1.3.1 SSQL*Pllus工具 PAGEREF _Toc h 11 HYPERL
2、INK l _Toc 1.3.2 SSQL*Pllus命令行行工具 PAGEREF _Toc h 12 HYPERLINK l _Toc 1.3.3 配配置本地网络络服务名 PAGEREF _Toc h 144 HYPERLINK l _Toc 1.3.4 PPL/SQLL Deveeloperr工具 PAGEREF _Toc h 18 HYPERLINK l _Toc 1.4 Oraacle服务务 PAGEREF _Toc h 18 HYPERLINK l _Toc 1.5 Oraacle启动动和关闭 PAGEREF _Toc h 200 HYPERLINK l _Toc 1.6 Oraac
3、le用户户和权限 PAGEREF _Toc h 211 HYPERLINK l _Toc 1.7 本章总总结 PAGEREF _Toc h 24 HYPERLINK l _Toc 1.8 本章练练习 PAGEREF _Toc h 25 HYPERLINK l _Toc 第二章 数据查查询和操作 PAGEREF _Toc h 227 HYPERLINK l _Toc 2.1 SQLL简介 PAGEREF _Toc h 28 HYPERLINK l _Toc 2.2 Oraacle数据据类型 PAGEREF _Toc h 28 HYPERLINK l _Toc 2.3 创建表表和约束 PAGERE
4、F _Toc h 300 HYPERLINK l _Toc 2.4 数据操操纵语言(DDML) PAGEREF _Toc h 32 HYPERLINK l _Toc 2.4.1 简简单查询 PAGEREF _Toc h 322 HYPERLINK l _Toc 2.4.2 数数据插入 PAGEREF _Toc h 344 HYPERLINK l _Toc 2.4.3 更更新数据 PAGEREF _Toc h 366 HYPERLINK l _Toc 2.4.4 删删除数据 PAGEREF _Toc h 366 HYPERLINK l _Toc 2.4.5 TTRUNCAATE PAGEREF
5、_Toc h 37 HYPERLINK l _Toc 2.5 操作符符 PAGEREF _Toc h 37 HYPERLINK l _Toc 2.5.1 算算术运算 PAGEREF _Toc h 377 HYPERLINK l _Toc 2.5.2 关关系运算和逻逻辑运算 PAGEREF _Toc h 388 HYPERLINK l _Toc 2.6 高级查查询 PAGEREF _Toc h 39 HYPERLINK l _Toc 2.6.1 消消除重复行 PAGEREF _Toc h 339 HYPERLINK l _Toc 2.6.2 NNULL操作作 PAGEREF _Toc h 40
6、HYPERLINK l _Toc 2.6.3 IIN 操作 PAGEREF _Toc h 40 HYPERLINK l _Toc 2.6.4 BBETWEEENANDD PAGEREF _Toc h 41 HYPERLINK l _Toc 2.6.5 LLIKE模糊糊查询 PAGEREF _Toc h 42 HYPERLINK l _Toc 2.6.6 集集合运算 PAGEREF _Toc h 433 HYPERLINK l _Toc 2.6.7 连连接查询 PAGEREF _Toc h 444 HYPERLINK l _Toc 2.7 本章总总结 PAGEREF _Toc h 47 HYPE
7、RLINK l _Toc 2.8 本章练练习 PAGEREF _Toc h 48 HYPERLINK l _Toc 第三章 子查询询和常用函数数 PAGEREF _Toc h 51 HYPERLINK l _Toc 3.1 子查询询 PAGEREF _Toc h 52 HYPERLINK l _Toc 3.2 Oraacle中的的伪列 PAGEREF _Toc h 54 HYPERLINK l _Toc 3.2.1 RROWID PAGEREF _Toc h 554 HYPERLINK l _Toc 3.2.2 RROWNUMM PAGEREF _Toc h 55 HYPERLINK l _T
8、oc 3.3 Oraacle函数数 PAGEREF _Toc h 57 HYPERLINK l _Toc 3.3.1 字字符函数 PAGEREF _Toc h 577 HYPERLINK l _Toc 3.3.2 数数字函数 PAGEREF _Toc h 599 HYPERLINK l _Toc 3.3.3 日日期函数 PAGEREF _Toc h 600 HYPERLINK l _Toc 3.3.4 转转换函数 PAGEREF _Toc h 622 HYPERLINK l _Toc 3.3.5 其其他单行函数数 PAGEREF _Toc h 64 HYPERLINK l _Toc 3.3.6
9、 聚聚合函数 PAGEREF _Toc h 655 HYPERLINK l _Toc 3.4 本章总总结 PAGEREF _Toc h 67 HYPERLINK l _Toc 3.5 本章练练习 PAGEREF _Toc h 68 HYPERLINK l _Toc 第四章 表空间间、数据库对对象 PAGEREF _Toc h 70 HYPERLINK l _Toc 4.1 Oraacle数据据库对象 PAGEREF _Toc h 711 HYPERLINK l _Toc 4.2 同义词词 PAGEREF _Toc h 71 HYPERLINK l _Toc 4.3 序列 PAGEREF _To
10、c h 774 HYPERLINK l _Toc 4.4 视图 PAGEREF _Toc h 776 HYPERLINK l _Toc 4.5 索引 PAGEREF _Toc h 778 HYPERLINK l _Toc 4.6 表空间间 PAGEREF _Toc h 80 HYPERLINK l _Toc 4.7 本章总总结 PAGEREF _Toc h 84 HYPERLINK l _Toc 4.8 本章练练习 PAGEREF _Toc h 85 HYPERLINK l _Toc 第五章 PL/SQL程序序设计 PAGEREF _Toc h 88 HYPERLINK l _Toc 5.1
11、PL/SQL简介介 PAGEREF _Toc h 89 HYPERLINK l _Toc 5.2 PL/SQL块 PAGEREF _Toc h 90 HYPERLINK l _Toc 5.2.1 变变量声明 PAGEREF _Toc h 922 HYPERLINK l _Toc 5.2.2 声声明常量 PAGEREF _Toc h 933 HYPERLINK l _Toc 5.3 PL/SQL数据据类型 PAGEREF _Toc h 94 HYPERLINK l _Toc 5.3.1 标标量数据类型型 PAGEREF _Toc h 95 HYPERLINK l _Toc 5.3.2 属属性数据
12、类型型 PAGEREF _Toc h 96 HYPERLINK l _Toc 5.4 PL/SQL条件件控制和循环环控制 PAGEREF _Toc h 97 HYPERLINK l _Toc 5.4.1 条条件控制 PAGEREF _Toc h 988 HYPERLINK l _Toc 5.4.2 循循环结构 PAGEREF _Toc h 1004 HYPERLINK l _Toc 5.4.3 顺顺序结构 PAGEREF _Toc h 1007 HYPERLINK l _Toc 5.5 PL/SQL中动动态执行SQQL语句 PAGEREF _Toc h 108 HYPERLINK l _Toc
13、 5.6 PL/SQL的异异常处理 PAGEREF _Toc h 1110 HYPERLINK l _Toc 5.6.2 预预定义异常 PAGEREF _Toc h 1110 HYPERLINK l _Toc 5.6.3 自自定义异常 PAGEREF _Toc h 1112 HYPERLINK l _Toc 5.6.4 引引发应用程序序异常 PAGEREF _Toc h 1133 HYPERLINK l _Toc 5.7 本章总总结 PAGEREF _Toc h 116 HYPERLINK l _Toc 5.8 本章练练习 PAGEREF _Toc h 117 HYPERLINK l _Toc
14、 附录一:数据库库的导入导出出 PAGEREF _Toc h 119 HYPERLINK l _Toc Oracle导导入导出 PAGEREF _Toc h 1119 HYPERLINK l _Toc EXP导出数据据 PAGEREF _Toc h 119 HYPERLINK l _Toc IMP导入 PAGEREF _Toc h 1223 HYPERLINK l _Toc 常见问题 PAGEREF _Toc h 1233 HYPERLINK l _Toc 附录二:上机练练习 PAGEREF _Toc h 125 HYPERLINK l _Toc 第一章 PAGEREF _Toc h 125
15、HYPERLINK l _Toc 第二章 PAGEREF _Toc h 126 HYPERLINK l _Toc 第三章 PAGEREF _Toc h 129 HYPERLINK l _Toc 第四章 PAGEREF _Toc h 130 HYPERLINK l _Toc 第五章 PAGEREF _Toc h 131初识OraclleOracle简介Oracle安装Oracle创建用户和角色客户端连接Oracle服务器内容提示Oracle简简介之前我们已经接接触过关系型型数据库SQQL Serrver,对对数据库、表表、记录,以以及表的增删删改查操作等等这些基本概概念已经了解解。Oraccle
16、是基于于对象的关系系型数据库,OOraclee也是用表的的形式对数据据存储和管理理,并且在OOraclee的操作中添添加了一些面面向对象的思思想。Oracle数数据库是Orracle(中中文名称叫甲甲骨文)公司司的核心产品品,Oraccle数据库库是一个适合合于大中型企企业的数据库库管理系统。在所有的数数据库管理系系统中,Orracle的的主要用户涉涉及面非常广广,包括:银银行、电信、移动通信、航空、保险险、金融、电电子商务和跨跨国公司等。Oraclle产品是免免费的,可以以在Oraccle官方网网站上下载到到安装包,但但是Oraccle的服务务是收费的。Oracle公公司成立以来来,从最初的
17、的数据库版本本到Oraccle7、OOraclee8i、Orracle99i,Oraacle100g到Oraacle111g,虽然每每一个版本之之间的操作都都存在一定的的差别,但是是Oraclle对数据的的操作基本上上都遵循SQQL标准。因因此对Oraacle开发发来说版本之之间的差别不不大。在了解了ORAACLE数据据库后,我们们有必要对OORACLEE和Sybaase、SQQL Serrver做一一下比较, Oraclle采用的是是并行服务器器模式,而SSybasee、SQL Serveer采用的是是虚拟服务器器模式,它没没有将一个查查询分解成多多个子查询,再再在不同的CCPU上同时时执行
18、这些子子查询。我们们可以说在对对称多处理方方面Oraccle的性能能优于Sybbase的性性能。业务量量往往在系统统运行后不断断提高,如果果数据库数量量达到GB以以上时,我们们在提高系统统的性能时可可以从两方面面入手,一种种是提高单台台服务器的性性能,另一种种就是增加服服务器数目。基于此,如如果我们是提提高单台服务务器的性能,选择Oraacle 数数据库较好,因为它能在在对称多CPPU的系统上上提供并行处处理。相反,由于Sybbase的导导航服务器使使网上的所有有用户都注册册到导航服务务器并通过导导航服务提出出数据访问请请求,导航服服务器则将用用户的请求分分解,然后自自动导向由它它所控制的多多
19、台SQL Serveer,从而在在分散数据的的基础上提供供并行处理能能力,我们可可以选择它。这些都是在在其他条件和和环境相同的的情况下比较较的,这样才才有可比性。在数据的分分布更新方面面,Oraccle采用的的是基于服务务器的自动的的2PC(两两阶段提交),而Sybbase采用用的则是基于于客户机DBB-Librrary或CCT-Libbrary的的可编程的22PC,因此此我们在选择择数据库方面面,必须根据据需要进行选选择,比如,从从事的社会保保险软件的开开发,考虑到到数据量大,并并发操作比较较多,实时性性要求高,我我们后台基本本采取的是OORACLEE数据库。OOraclee服务器由OOra
20、clee数据库和OOraclee实例组成。Oraclle实例由系系统全局区内内存结构和用用于管理数据据库的后台进进程组成。很多人还没有学学习Oraccle就开始始惧怕,因为为人们在误解解Oraclle,认为OOraclee太难学了,认认为Oraccle不是一一般人用的数数据库,其实实任何数据库库对应用程序序研发人员来来说,都是大大同小异,因因为目前多数数数据库都支支持标准的SSQL。在OOraclee这本书中,我我们能学习到到:Oracle的的安装Oracle数数据管理常用子查询及常常用函数PL/SQL编编程Oracle基基本管理由于在第一学期期就已经接触触了SQL Serveer,因此OOr
21、aclee数据库的概概念不是很难难,主要是实实践,因此在在本书的学习习中,认真的的完成上机练练习是学习好好本书的关键键。Oracle安安装Oracle数数据库产品是是免费的,我我们可以从OOraclee的官方网站站(httpp:/wwww.oraacle.ccom)下载载到程序安装装包,Oraacle在WWindowws下的安装装非常方便,安安装开始后,一一直点击安装装程序的“下一步”即可。1.下载Oraacle100g后,解压压到一个文件件夹下,单击击“setupp.exe”文件即可启启动安装界面面。如下图:Oracle安安装启动界面面Oracle主主目录位置就就是Oraccle准备安安装的
22、位置,称称为“Oraclle_Homme”,一般Orracle根根据当前计算算机的硬盘大大小默认给出出一个合适的的位置。Orracle安安装时可以只只安装Oraacle软件件,然后单独独创建数据库库,也可以在在上图中选中中“创建启动数数据库”复选框,在在安装Oraacle产品品时,同时创创建一个数据据库,对初学学者来说,推推荐这样安装装。填写全局局数据库名,以以及管理员的的密码。全局局数据库名是是数据库在服服务器网络中中的唯一标识识。2.点击“下一一步”,就会出现现如下图内容容,开始对OOraclee服务器进行行环境检查,主主要查看服务务器是否符合合Oraclle安装的条条件,比如操操作系统是
23、否否支持、系统统内存是否符符合Oraccle安装的的最低要求等等。Oracle安安装前环境检检查3.Oraclle检查通过过后,单击“下一步”,就会列出出所有安装OOraclee过程中的默默认选项。Oracle默默认安装设置置4.单击“安装装”按钮,进入入安装界面,这这一过程经历历时间比较长长,根据计算算机的性能不不同有很大差差别。Oracle安安装5.上图完成后后,进入了各各种Oraccle工具的的安装阶段,包包括网络配置置向导,iSSQL*pllus等(后后面课程中讲讲解)。如下下图所示:Oracle各各种工具的安安装6.接下来自动动启动DBCCA(Dattabasee Conffigur
24、aation Assisstant)进进入创建默认认数据库阶段段。DBCA下安装装数据库Oracle中中的数据库主主要是指存放放数据的文件件,这些文件件在Oraccle安装完完成后,在计计算机硬盘上上都能找到,包包括数据文件件、控制文件件和数据库日日志文件。数据库创建后会会有一系列为为该数据库提提供服务的内内存空间和后后台进程,称称为该数据库库的实例。每每一个数据库库至少会有一一个实例为其其服务。实例例中的内存结结构称为系统统全局区(SSGA),系系统会根据当当前计算机系系统的性能给给SGA分配配非常可观的的内存空间。Oracle创创建数据库不不能像SQLL Servver那样用用一个简单的的
25、CREATTE DATTABASEE命令就能完完成,在创建建数据库的过过程中还需要要配置各种参参数。虽然有有DBCA工工具向导,但但是仍然需要要进行比较麻麻烦的配置。提 示虽然一个Oraacle数据据库服务器中中可以安装多多个数据库,但但是一个数据据库会占用非非常大的内存存空间,因此此一般一个服务务器只安装一一个数据库。每一个数据据库可以有很多用户,不不同的用户拥拥有自己的数数据库对象(比比如:数据库库表),一个个用户如果访问问其他用户的的数据库对象象,必须由对对方用户授予予一定的权限限。不同的用用户创建的表表,只能被当当前用户访问问。因此在OOraclee开发中,不不同的应用程程序只需使用用
26、不同的用户户访问即可。7.数据库创建建完毕后,需需要设置数据据库的默认用用户。Oraacle中为为管理员预置置了两个用户户分别是SYYS和SYSTEEM。同时OOraclee为程序测试试提供了一个个普通用户sscott,口口令管理中,可可以对数据库库用户设置密密码,设置是是否锁定。 Oraclle客户端使使用用户名和和密码登录OOraclee系统后才能能对数据库操操作。DBCA下的口口令管理为systemm,sys,scottt用户设置密密码默认的用户中,SSYS和SYYSTEM用用户是没有锁锁定的,安装装成功后可以以直接使用,SSCOTT用用户默认为锁锁定状态,因因此不能直接接使用,需要要把
27、SCOTTT用户设定定为非锁定状状态才能正常常使用。这一步完成后,OOraclee系统安装成成功。提 示Oracle数数据库中,默默认情况下,所所有系统的数数据,SQLL关键字等都都是大写的,在在操作过程中中,Oraccle会自动动把这些内容容转换为大写写,因此用户户操作时不需需考虑大小写写问题,一般般情况下,为为了良好的程程序风格,程程序中建议关关键字用大写写,非关键字字可以使用小小写。Oracle客客户端工具Oracle服服务器安装成成功后,就可可以通过客户户端工具连接接Oraclle服务器了了,可以到OOraclee官方下载OOraclee专用的客户户端软件,大大多客户端工工具都是基于于
28、Oraclle客户端软软件的。接下下来介绍几种种常用的Orracle客客户端工具。SQL*Pluus工具该工具是Oraacle系统统默认安装下下,自带的一一个客户端工工具。在Wiindowss命令行中输输入“sqlpllusw”命令,就能能够启动该工工具了。SQL*Pluus工具输入用户名和密密码后,如果果SQL*PPlus与数数据库服务器器在同一台计计算机上,并并且当前服务务器下只有一一个数据库实实例,那么“主机字符串串”可以不用填填写。提 示SQL*Pluus工具虽然然是Oraccle自带的的工具,但是是在现实开发发中,基于该该环境对开发发不方便,因因此很少使用用。SQL*Pluus连接成
29、功功后就如图所所示:SQL*Pluus工具登录录后SQL*Pluus命令行工工具该命令行工具,提提供了与数据据库交互的能能力和维护数数据库的能力力,包括了OOraclee自带的SQQL*Pluus工具的全全部功能,在在Oraclle管理中经经常使用。在在命令行中输输入:“sqlpllus /nnolog”即可启动该该工具。如下下图:启动SQL*PPlus命令令行工具输入“sqlpplus /nologg”命令后,只只是启动了一一个客户端进进程,并没有有与服务器连连接,连接到到Oraclle服务器的的命令是:conn 用户户名/密码 as 连接接身份服务务器连接字符符串说明:1、连接身份:表示该
30、用户户连接后拥有有的权限。sysdba: 即数据库库管理员,权限包括:打开数据库库服务器、关闭数据库库服务器、备份数据库库、恢复数据库库、日志归档、会话限制、管理功能、创建数据库库。sys用用户必须用ssysdbaa身份才能登登录,sysstem用户户可以用普通通身份登录。sysyopeer:即数据库操操作员,权限包括:打开数据库库服务器、关闭数据库库服务器、备份数据库库、恢复数据库库、日志归档、会话限制。normal:即普通用户户,权限只有查查询某些数据据表的数据。默认的身份份是normmal用户。2、客户端工具具可以根据“服务器连接接字符串”对服务器进进行连接,有有了连接字符符串后,客户户
31、端就可以像像操作本机一一样操作远程程数据库,因因此“服务器连接接字符串”的配置也叫叫本地网络服服务配置,如如果SQL*Plus工工具启动在服服务器上,并并且服务器上上只有一个数数据库实例的的情况下,连连接字符串可可以缺省,在在连接字符串串中包括连接接服务器的协协议,服务器器的地址,服服务器的端口口等设置,OOraclee服务名等,该该配置文件在在Oraclle安装目录录下的: nnetworrk/ADMINN/ tnsnnames.ora。该该文件是一个个文本文件,用用记事本打开开后如下图所所示:服务器连接字符符串配置配置本地网络服服务名1、本地网络服服务名,即客客户端与服务务器连接的字字符串
32、,本地地网络服务名名是客户端的的配置,Orracle客客户端安装后后,可以使用用客户端自带带的网络配置置向导(Neet Connfigurrationn Assiistantt)进行配置置:启动Net CConfigguratiion Asssistaant。选择择“本地Nett服务名配置置”选项。如下下图所示:启动Net CConfigguratiion Asssistaant2、选择“下一一步”,本步骤可可以对本地网网络服务名进进行添加、删删除、测试是是否正常、连连接等操作,选选择“添加”选项。Net Connfigurrationn Assiistantt3、点击“下一一步”,填写服务务
33、名,该服务务名就是Orracle安安装时(图11.1),为为数据库取的的全局数据库库名。服务名配置4、点击“下一一步”,选择服务务需要的协议议,默认是TTCP协议。推荐使用默默认的TCPP协议。选择协议5、点击“下一一步”,输入主机机名,主机名名可以是计算算机名称,也也可以是一个个IP地址,主主机如果是本本机,可以使使用本机计算算机名称、“locallhost”、“127.00.0.1”、或者本机机的IP地址址。输入主机名和端端口6、单击“下一一步”,选择“是,进行测测试”选项。进入入下图界面。测试成功在测试时,默认认采用的用户户名和密码是是systeem/mannager进进行测试,如如果用
34、户syystem的的密码不是“managger”,有可能测测试通不过,更更改登录密码码后,输入正正确的用户名名和密码后再再进行测试即即可。7、测试成功后后,单击“下一步”,出现如下下界面,这一一步是为本地地网络服务命命名,即图112中的服务务器连接字符符串名。为网络服务名命命名点击“下一步”,配置就完完成了,进入入tnsnaames.oora文件中中查看,就出出现了如图11.12中的的内容。PL/SQL Develloper工工具在实际Oraccle开发中中,经常使用用一个功能强强大的第三方方工具:“PL/SQQL Devvelopeer”工具。PLL/SQL Develloper基基本上可以
35、实实现Oraccle开发中中的任何操作作。它运行在在客户端时必必须先安装OOraclee客户端,并并且通过网络络配置向导配配置网络服务务名后才能正正常与服务器器连接。PL/SQL Develloper是是一个集成开开发环境,专专门面向Orracle数数据库存储程程序单元的开开发。如今,有有越来越多的的商业逻辑和和应用逻辑转转向了Oraacle SServerr,因此,PPL/SQLL编程也成了了整个开发过过程的一个重重要组成部分分。PL/SSQL Deevelopper侧重于于易用性、代代码品质和生生产力,充分分发挥Oraacle应用用程序开发过过程中的主要要优势。PL/SQL编编辑器具有语语
36、法加强、SSQL和PLL/SQL帮帮助、对象描描述、代码助助手、编译器器提示、PLL/SQL完完善、代码内内容、代码分分级、浏览器器按钮、超链链接导航、宏宏库等许多智智能特性,能能够满足要求求性最高的用用户需求。PL/SQL DevelloperOracle服服务Oracle在在windoows中安装装完成后,会会安装很多服服务,下面介介绍几个主要要的服务。Oracle服服务OracleSServicce+服务名名,该服务是是数据库启动动的基础,只只有该服务启启动了,Orracle数数据库才能正正常启动。这这是必须启动动的服务。OracleOOraDb110g_hoome1TNNSListte
37、ner,该该服务是服务务器端为客户户端提供的监监听服务,只只有该服务在在服务器上正正常启动,客客户端才能连连接到服务器器。该监听服服务接收客户户端发出的请请求,然后将将请求传递给给数据库服务务器。一旦建建立了连接,客客户端和数据据库服务器就就能直接通信信了。OracleOOraDb110g_hoome1iSSQL*Pllus,该服服务提供了用用浏览器对数数据库中数据据操作的方式式。该服务启启动后,就可可以使用浏览览器进行远程程登录并进行行数据库操作作了。如下图图所示:iSQL*PllusOracleDDBConssole+服服务名,Orracle110g中的一一个新服务。在Oraccle9i之
38、之前,Oraacle官方方提供了一个个基于图形界界面的企业管管理器(EMM),从Orracle110g开始,OOraclee提供了一个个基于B/SS的企业管理理器,在操作作系统的命令令行中输入命命令:emcctl sttart ddbconssole,就就可以启动OOracleeDbConnsole服服务,如下图图所示:EM服务的启动动服务启动之后,就就可以在浏览览器中输入上上图中进入EEM的地址,使使用B/S方方式管理Orracle服服务器。Oracle启启动和关闭OracleSServicce启动动后后,就可以对对数据库进行行管理了,OOraclee的启动和关关闭是最基本本的命令,在在SQ
39、L*PPlus中,启启动Oraccle必须是是sys用户户,命令格式式是:startupp opennOracle服服务启动Oracle服服务关闭用命命令:shuutdownn immeediateeOracle服服务关闭Oracle用用户和权限Oracle中中,一般不会会轻易在一个个服务器上创创建多个数据据库,在一个个数据库中,不不同的项目由由不同的用户户访问,每一一个用户拥有有自身创建的的数据库对象象,因此用户户的概念在OOraclee中非常重要要。Oraccle的用户户可以用CRREATE USER命命令来创建。其语法是:语法结构:创建建用户CREATE USER 用户名 IIDENTI
40、IFIED BY 口令令 ACCCOUNT LOCK|UNLOCCK语法解析:LOCK|UNNLOCK创创建用户时是是否锁定,默默认为锁定状状态。锁定的的用户无法正正常的登录进进行数据库操操作。代码演示:创建建用户SQL CRREATE USER jerryy2 IDENNTIFIEED BY tom3 ACCOOUNT UUNLOCKK;注 意Oracle在在SQL*PPlus中的的命令以分号号(;)结尾尾,代表命令令完毕并执行行,系统同时时会把该命令令保存在缓存存中,缓存中中只保存最近近执行过的命命令,如果重重新执行缓存存中的命令,直直接使用左斜斜杠符号(/)。如果命命令不以分号号结尾,该
41、命命令只是写入入缓存保存起起来,但并不不执行。尽管用户成功创创建,但是还还不能正常的的登录Oraacle数据据库系统,因因为该用户还还没有任何权权限。如果用用户能够正常常登录,至少少需要CREEATE SSESSIOON系统权限限。Oracle用用户对数据库库管理或对象象操作的权利利,分为系统统权限和数据据库对象权限限。系统权限限比如:CRREATE SESSIION,CRREATE TABLEE等,拥有系系统权限的用用户,允许拥拥有相应的系系统操作。数数据库对象权权限,比如对对表中的数据据进行增删改改操作等,拥拥有数据库对对象权限的用用户可以对所所拥有的对象象进行对应的的操作。还有一个概念就
42、就是数据库角角色(rolle),数据据库角色就是是若干个系统统权限的集合合。下面介绍绍几个常用角角色:CONNECTT角色,主要要应用在临时时用户,特别别是那些不需需要建表的用用户,通常只只赋予他们CCONNECCTrolee。CONNNECT是使使用Oraccle的简单单权限,拥有有CONNEECT角色的的用户,可以以与服务器建建立连接会话话(sesssion,客客户端对服务务器连接,称称为会话)。RESOURCCE角色,更可靠和正正式的数据库库用户可以授授予RESOOURCE role。RESOUURCE提供供给用户另外外的权限以创创建他们自己己的表、序列列、过程(pproceddure)
43、、触发器(ttriggeer)、索引引(indeex)等。DBA角色,DDBA roole拥有所所有的系统权权限包括无限制制的空间限额额和给其他用用户授予各种种权限的能力力。用户SYSTTEM拥有DDBA角色。一般情况下,一一个普通的用用户(如SCCOTT),拥拥有CONNNECT和RRESOURRCE两个角角色即可进行行常规的数据据库开发工作作。可以把某个权限限授予某个角角色,可以把把权限、角色色授予某个用用户。系统权权限只能由DDBA用户授授权,对象权权限由拥有该该对象的用户户授权,授权权语法是: 语法结构:授权权GRANT角色色|权限 TTO 用户(角角色)代码演示:授权权SQL GRR
44、ANT CCONNECCT TO jerryy;授权成功。SQL GRRANT RRESOURRCE TOO jerrry;授权成功。SQL语法结构:其他他操作/回收权限REVOKE 角色|权限限 FROMM 用户(角角色)/修改用户的的密码ALTER UUSER 用用户名 IDDENTIFFIED BBY 新密码码/修改用户处处于锁定(非非锁定)状态态ALTER UUSER 用用户名 ACCCOUNTT LOCKK|UNLOOCK本章总结Oracle是是基于对象的的关系型数据据库,Oraacle产品品免费,服务务收费。Oracle安安装后默认会会有两个管理理员用户(ssystemm,sys)
45、和和一个普通用用户Scottt。Sql*pluus是Oraacle管理理和数据操作作的客户端工工具。客户端连接服务务器前,服务务器要启动监监听服务,并并且客户端工工具要安装OOraclee客户端,并并且在客户端端要建立本地地网络服务名名。Oracle服服务和监听启启动后才能对对数据库进行行操作。用startuup命令启动动数据库,用用shutddown命令令关闭数据库库。Oracle的的角色包括了了一系列系统统权限和普通通对象权限,可可以把权限授授权给角色,把把权限或者角角色授权给用用户。本章练习描述Oraclle安装过程程中的关键点点。描述创建本地网网络服务名的的步骤。描述Oraclle主要
46、服务务的作用。Oracle使使用什么命令令才能启动和和关闭。什么是Oraccle权限和和角色?他们们的关系是什什么?创建一个用户,并并授权CONNNECT和和RESOUURCE。章节知识结构图图数据查询和操作作Oracle数据类型SQL建表和约束SQL对数据增删改SQL查询Oracle伪列内容提示SQL简介在第一学期的SSQL Seerver学学习中,已经经知道,SQQL是结构化化查询语言(SStructtured Queryy Langguage),专专门用于数据据存取、数据据更新及数据据库管理等操操作。并且已已经学习了用用SQL语句句对数据库的的表进行增删删改查的操作作。在Oraclee开
47、发中,客客户端把SQQL语句发送送给服务器,服服务器对SQQL语句进行行编译、执行行,把执行的的结果返回给给客户端。OOraclee SQL语语句由如下命命令组成:数据定义语言(DDL),包括CREATE(创建)命令、ALTER(修改)命令、DROP(删除)命令等。数据操纵语言(DML),包括INSERT(插入)命令、UPDATE(更新)命令、DELETE(删除)命令、SELECT FOR UPDATE(查询)等。数据查询语言(DQL),包括基本查询语句、Order By子句、Group By子句等。事务控制语言(TCL),包括COMMIT(提交)命令、SAVEPOINT(保存点)命令、ROL
48、LBACK(回滚)命令。数据控制语言(DCL),GRANT(授权)命令、REVOKE(撤销)命令。目前主流的数据据库产品(比比如:SQLL Servver、Orracle)都都支持标准的的SQL语句句。数据定义义语言,表的的增删改操作作,数据的简简单查询,事事务的提交和和回滚,权限限的授权和撤撤销等,Orracle与与SQL SServerr在操作上基基本一致。Oracle数数据类型Oracle数数据库的核心心是表,表中中的列使用到到的常见数据据类型如下:类型含义CHAR(leength)存储固定长度的的字符串。参参数lenggth指定了了长度,如果果存储的字符符串长度小于于lengtth,用
49、空格格填充。默认认长度是1,最最长不超过22000字节节。VARCHARR2(lenngth)存储可变长度的的字符串。llengthh指定了该字字符串的最大大长度。默认认长度是1,最最长不超过44000字符符。NUMBER(p,s)既可以存储浮点点数,也可以以存储整数,pp表示数字的的最大位数(如如果是小数包包括整数部分分和小数部分分和小数点,pp默认是388位),s是是指小数位数数。DATE存储日期和时间间,存储纪元元、4位年、月、日、时时、分、秒,存存储时间从公公元前47112年1月11日到公元后后4712年年12月311日。TIMESTAAMP不但存储日期的的年月日,时时分秒,以及及秒后
50、6位,同同时包含时区区。CLOB存储大的文本,比比如存储非结结构化的XMML文档BLOB存储二进制对象象,如图形、视频、声音音等。Oracle的的部分数据类类型对应NUMBEER类型的示示例:格式输入的数字实际的存储NUMBER1234.56671234.5667NUMBER(66,2)123.45667123.46NUMBER(44,2)12345.667输入的数字超过过了所指定的的精度,数据据库不能存储储Number示示例对于日期类型,可可以使用syysdatee内置函数可可以获取当前前的系统日期期和时间,返返回DATEE类型,用ssystimmestammp函数可以以返回当前日日期、时间
51、和和时区。sysdatee和sysTTimesttampOracle的的查询中,必必须使用“selecct 列 fromm 表”的完整语法法,当查询单单行函数的时时候,froom后面使用用DUAL表表,duall表在系统中中只有一行一一列,该表在在输出单行函函数时为了sselecttfrom的的语法完整性性而使用。创建表和约束Oracle创创建表同SQQL Serrver一样样,使用CRREATE TABLEE命令来完成成。创建约束束则使用如下下命令:语法格式:ALLTER TTABLE命命令ALTER TTABLE 表名 ADDD CONNSTRAIINT 约束束名 约束内内容。不论创建表还
52、是是约束,与SSQL Seerver基基本相同,注注意:在Orracle中中defauult是一个个值,而SQQL Serrver中ddefaullt是一个约约束,因此OOraclee的defaault设置置可以在建表表的时候创建建。案例1:创建一一个学生信息息(INFOOS)表和约约束代码演示:Orracle创创建表和约束束CREATE TABLEE INFOOS( STUIDD VARCCHAR2(7) NOOT NULLL, -学号号 学号=S+班号号+2位序号号 STUNAAME VAARCHARR2(10) NOT NULL, -姓姓名 GENDEER VARRCHAR22(2) N
53、NOT NUULL, -性性别 AGE NNUMBERR(2) NNOT NUULL, -年龄龄 SEAT NUMBEER(2) NOT NNULL, -座座号ENROLLDDATE DDATE, -入学时时间 STUADDDRESSS VARCCHAR2(50) DDEFAULLT 地址址不详, -住址 CLASSSNO VAARCHARR2(4) NOT NNULL -班班号 班号=学期序号+班级序号 )/ ALTER TTABLE INFOSS ADD CONSTTRAINTT PK_IINFOS PRIMAARY KEEY(STUUID)/ALTER TTABLE INFOSS ADD
54、 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 CLASSSNO=2001 AND CLASSSNO CRREATE TABLEE INFOOS1 AS SSELECTT * FRROM INNFOS; TABLE CCREATEED使用上面命令创创建的新表中中,不存在任任何约束,并并且把查询的的数据一起插
55、插入到新表中中。如果只复复制表结构,只只需使查询的的条件不成立立(比如whhere 11=2),就就不会查询从从出任何数据据,从而复制制一个表结构构。代码演示:复制制表结构SQL CRREATE TABLEE INFOOS2 AS SSELECTT * FRROM INNFOS WWHERE 1=2; TABLE CCREATEED数据插入用INSERTT命令完成对对数据的插入入。语法结构:根据据结果集创建建表INSERT INTO 表名(列名名1,列名22) VAALUES (值1,值值2)语法解析:列名可以省略。当省略列名名时,默认是是表中的所有有列名,列名名顺序为表定定义中列的先先后顺序
56、。值的数量和顺序序要与列名的的数量和顺序序一致。值的的类型与列名名的类型一致致。代码演示:向IINFOS表表和SCORRES表中插插入数据SQL INNSERTIINTOINNFOSVAALUES ( 2 ss, 林林冲, 男, 222, 2,3TO_DATTE(20009-8-9 06:30:100, YYYYY-MMM-DD HH24:MI:SSS ),4 西安, 10001 5 ) 6 /1 row iinserttedSQL INNSERTIINTOINNFOSVAALUES(s,阮小小二,男男,26,3,SYSSDATE,defauult,11001); 1 row inserrte
57、dSQLCOMMMIT; 代码解析:表名后面面缺省了列名名,默认是表表Infoss中的所有列列名,vallues中的的值要与表中中列一一对应应,包括顺序序和数据类型型的对应。在在SQL*PPlus中一一条语句可以以写在多行,那那么从第二行行开始,sqqlpluss会为每一行行前面给出行行号。在Oraacle中,日日期是国际化化的,不同的的区域安装的的数据库,默默认的日期格格式不同,因因此为了程序序便于移植,日日期的输入要要使用TO_DATE函函数对日期格格式化后输入入,采用格式式化字符串对对日期进行格格式化时,格格式化字符串串中字符不区区分大小写,常常见的格式化化字符如下:yyyy表示四四位年
58、份mm表示两位月月份,比如33月表示为003dd表示两位日日期hh24表示小小时从0-223,hh112也表示小小时从0-111。mi 表示分钟钟ss表示秒在遇到存存在默认值的的列时,可以以使用deffault值值代替。commmit是把用用户操作(添添加、删除、修改操作)提提交,只有提提交操作后,数数据才能真正正更新到表中中,否则其他他用户无法查查询到当前用用户操作的结结果。在Oraclee中,一个IINSERTT命令可以把把一个结果集集一次性插入入到一张表中中。使用的语语句是:INNSERT INTO 表 SELLECT子句句,如下示例例:代码演示:INNSERT向向表中插入一一个结果集S
59、QL INNSERT INTO INFOSS2 SELEECT * FROM INFOSS; 5 rows inserrted在这种语法下,要要求结果集中中每一列的数数据类型必须须与表中的每每一列的数据据类型一致,结结果集中的列列的数量与表表中的列的数数量一致。比比如表INFFOS2,该该表的结构与与INFO表表一样,那么么可以把INNFO表中的的所有记录一一次性插入到到INFOSS2表中。Oracle的的简单查询和和SQL SServerr一样都可以以在查询列中中使用常量,如如图: Select中中的常量可以使用刚才的的做法,把该该结果集中的的数据插入到到表INFOOS中。代码演示:INNS
60、ERT向向表中插入一一个常量结果果集SQL INNSERT INTO INFOSSSELECT s,卢俊义,男,223,5,TO_DATEE(20009-8-99 08:000:10,YYYYY-MM-DD HHH24:MII:SS), 青青龙寺,1001 FROM DUUAL; 1 rows inserrted SQLCOMMMIT;更新数据Oracle在在表中更新数数据的语法是是:语法结构:UPPDATE操操作UPDATE 表名 SEET 列名11=值,列名名2=值 WHERRE 条件代码演示:UPPDATE操操作SQL UPPDATE INFOSS SET CLASSSNO=11002,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人工智能在保险合规监督中的作用
- 人工智能在监管合规评估中的应用研究
- 人力资源副经理年度工作述职报告
- 保险AI算力安全认证
- 彩绘施工方案及施工方案
- 钢琴兴趣班教学计划
- 2026年集团资产管理办法
- 海边施工桩基施工方案
- 人教版小学六年级科学生态系统教案
- AI在智能营销中的应用探索
- 灰岩地区长大隧道机械化快速施工技术
- 《勾股定理》整章综合测试(一)338345
- (完整)注册安全工程师考试题库(含答案)
- GB/T 17880.6-1999铆螺母技术条件
- YY 0899-2020医用微波设备附件的通用要求
- JJF 1915-2021倾角仪校准规范
- GB/T 325-2000包装容器钢桶
- 执行-如何完成任务的学问课件
- 临床实践中的循证医学(课件新修)
- 特种作业人员安全操作规程
- 抢救病人现场记录单
评论
0/150
提交评论