ImageVerifierCode 换一换
格式:DOCX , 页数:129 ,大小:2.13MB ,
资源ID:4711358      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4711358.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(oracle数据库应用-dt0-董天宁.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

oracle数据库应用-dt0-董天宁.docx

1、 Oracle数据库应用 贵州鸿皓教育机构 目录 第一章 初识Oracle 4 Oracle简介 5 Oracle安装 6 Oracle客户端工具 11 SQL*Plus工具 11 SQL*Plus命令行工具 12 配置本地网络效劳名 14 PL/SQL Developer工具 18 Oracle效劳 18 Oracle启动和关闭 20 Oracle用户和权限 21 本章总结 24 本章练习 25 第二章 数据查询和操作 27 SQL简介 28 Oracle数据类型 28 创立表和约束 30

2、 数据操纵语言〔DML〕 32 简单查询 32 数据插入 34 更新数据 36 删除数据 36 TRUNCATE 37 操作符 37 算术运算 37 关系运算和逻辑运算 38 高级查询 39 消除重复行 39 NULL操作 40 IN 操作 40 BETWEEN…AND… 41 LIKE模糊查询 42 集合运算 43 连接查询 44 本章总结 47 本章练习 48 第三章 子查询和常用函数 51 子查询 52 Oracle中的伪列 54 ROWID 54 ROWNUM 55 Oracle函数 57

3、 字符函数 57 数字函数 59 日期函数 60 转换函数 62 其他单行函数 64 聚合函数 65 本章总结 67 本章练习 68 第四章 表空间、数据库对象 70 Oracle数据库对象 71 同义词 71 序列 74 视图 76 索引 78 表空间 80 本章总结 84 本章练习 85 第五章 PL/SQL程序设计 88 PL/SQL简介 89 PL/SQL块 90 变量声明 92 声明常量 93 PL/SQL数据类型 94 标量数据类型 95 属性数据类型 96 PL/SQL条件控制和循环

4、控制 97 条件控制 98 循环结构 104 顺序结构 107 PL/SQL中动态执行SQL语句 108 PL/SQL的异常处理 110 预定义异常 110 自定义异常 112 引发应用程序异常 113 本章总结 116 本章练习 117 附录一:数据库的导入导出 119 Oracle导入导出 119 EXP导出数据 119 IMP导入 123 常见问题 123 附录二:上机练习 125 第一章 125 第二章 126 第三章 129 第四章 130 第五章 131 第一章 初识Oracle

5、 ü Oracle简介 ü Oracle安装 ü Oracle创立用户和角色 ü 客户端连接Oracle效劳器 内容提示 1.1 Oracle简介 之前我们已经接触过关系型数据库SQL Server,对数据库、表、记录,以及表的增删改查操作等这些根本概念已经了解。Oracle是基于对象的关系型数据库,Oracle也是用表的形式对数据存储和管理,并且在Oracle的操作中添加了一些面向对象的思想。 Oracle数据库是Oracle〔中文名称叫甲骨文〕公司的核心产品,Oracle数据库是一个适合于大中型企业的数据库

6、管理系统。在所有的数据库管理系统中,Oracle的主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。Oracle产品是免费的,可以在Oracle官方网站上下载到安装包,但是Oracle的效劳是收费的。 Oracle公司成立以来,从最初的数据库版本到Oracle7、Oracle8i、Oracle9i,Oracle10g到Oracle11g,虽然每一个版本之间的操作都存在一定的差异,但是Oracle对数据的操作根本上都遵循SQL标准。因此对Oracle开发来说版本之间的差异不大。 在了解了ORACLE数据库后,我们有必要对ORACLE和Sybase、SQ

7、L Server做一下比拟, Oracle采用的是并行效劳器模式,而Sybase、SQL Server采用的是虚拟效劳器模式,它没有将一个查询分解成多个子查询,再在不同的CPU上同时执行这些子查询。我们可以说在对称多处理方面Oracle的性能优于Sybase的性能。业务量往往在系统运行后不断提高,如果数据库数量到达GB以上时,我们在提高系统的性能时可以从两方面入手,一种是提高单台效劳器的性能,另一种就是增加效劳器数目。基于此,如果我们是提高单台效劳器的性能,选择Oracle 数据库较好,因为它能在对称多CPU的系统上提供并行处理。相反,由于Sybase的导航效劳器使网上的所有用户都注册到导航效

8、劳器并通过导航效劳提出数据访问请求,导航效劳器那么将用户的请求分解,然后自动导向由它所控制的多台SQL Server,从而在分散数据的根底上提供并行处理能力,我们可以选择它。这些都是在其他条件和环境相同的情况下比拟的,这样才有可比性。在数据的分布更新方面,Oracle采用的是基于效劳器的自动的2PC(两阶段提交),而Sybase采用的那么是基于客户机DB-Library或CT-Library的可编程的2PC,因此我们在选择数据库方面,必须根据需要进行选择,比方,从事的社会保险软件的开发,考虑到数据量大,并发操作比拟多,实时性要求高,我们后台根本采取的是ORACLE数据库。Oracle效劳器由O

9、racle数据库和Oracle实例组成。Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成。 很多人还没有学习Oracle就开始惧怕,因为人们在误解Oracle,认为Oracle太难学了,认为Oracle不是一般人用的数据库,其实任何数据库对应用程序研发人员来说,都是大同小异,因为目前多数数据库都支持标准的SQL。在Oracle这本书中,我们能学习到: l Oracle的安装 l Oracle数据管理 l 常用子查询及常用函数 l PL/SQL编程 l Oracle根本管理 由于在第一学期就已经接触了SQL Server,因此Oracle数据库的概念不是很难,

10、主要是实践,因此在本书的学习中,认真的完成上机练习是学习好本书的关键。 1.2 Oracle安装 Oracle数据库产品是免费的,我们可以从Oracle的官方网站( :// oracle )下载到程序安装包,Oracle在Windows下的安装非常方便,安装开始后,一直点击安装程序的“下一步〞即可。 1. 下载Oracle10g后,解压到一个文件夹下,单击“〞文件即可启动安装界面。如以下图: 图 1.1 Oracle安装启动界面 Oracle主目录位置就是Oracle准备安装的位置,称为“Oracle_Home〞,一般Oracle根据当前计算机的硬盘

11、大小默认给出一个适宜的位置。Oracle安装时可以只安装Oracle软件,然后单独创立数据库,也可以在上图中选中“创立启动数据库〞复选框,在安装Oracle产品时,同时创立一个数据库,对初学者来说,推荐这样安装。填写全局数据库名,以及管理员的密码。全局数据库名是数据库在效劳器网络中的唯一标识。 2. 点击“下一步〞,就会出现如以下图内容,开始对Oracle效劳器进行环境检查,主要查看效劳器是否符合Oracle安装的条件,比方操作系统是否支持、系统内存是否符合Oracle安装的最低要求等。 图 1.2 Oracle安装前环境检查 3. Oracle检查通过后,单击“下一步〞,

12、就会列出所有安装Oracle过程中的默认选项。 图 1.3 Oracle默认安装设置 4. 单击“安装〞按钮,进入安装界面,这一过程经历时间比拟长,根据计算机的性能不同有很大差异。 图 1.4 Oracle安装 5. 上图完成后,进入了各种Oracle工具的安装阶段,包括网络配置向导,iSQL*plus等〔后面课程中讲解〕。如以下图所示: 图 1.5 Oracle各种工具的安装 6. 接下来自动启动DBCA〔Database Configuration Assistant〕进入创立默认数据库阶段。 图 1.6 DBCA下安装数据库 O

13、racle中的数据库主要是指存放数据的文件,这些文件在Oracle安装完成后,在计算机硬盘上都能找到,包括数据文件、控制文件和数据库日志文件。 数据库创立后会有一系列为该数据库提供效劳的内存空间和后台进程,称为该数据库的实例。每一个数据库至少会有一个实例为其效劳。实例中的内存结构称为系统全局区〔SGA〕,系统会根据当前计算机系统的性能给SGA分配非常可观的内存空间。 Oracle创立数据库不能像SQL Server那样用一个简单的CREATE DATABASE命令就能完成,在创立数据库的过程中还需要配置各种参数。虽然有DBCA工具向导,但是仍然需要进行比拟麻烦的配置。 提 示

14、 虽然一个Oracle数据库效劳器中可以安装多个数据库,但是一个数据库会占用非常大的内存空间,因此一般一个效劳器只安装一个数据库。每一个数据库可以有很多用户,不同的用户拥有自己的数据库对象〔比方:数据库表〕,一个用户如果访问其他用户的数据库对象,必须由对方用户授予一定的权限。不同的用户创立的表,只能被当前用户访问。因此在Oracle开发中,不同的应用程序只需使用不同的用户访问即可。 7. 数据库创立完毕后,需要设置数据库的默认用户。Oracle中为管理员预置了两个用户分别是SYS和SYSTEM。同时Oracle为程序测试提供了一个普通用户scott,口令管理中,可以对数据库用户设置密码

15、设置是否锁定。 Oracle客户端使用用户名和密码登录Oracle系统后才能对数据库操作。 图 1.7 DBCA下的口令管理 图 1.8 为system,sys,scott用户设置密码 默认的用户中,SYS和SYSTEM用户是没有锁定的,安装成功后可以直接使用,SCOTT用户默认为锁定状态,因此不能直接使用,需要把SCOTT用户设定为非锁定状态才能正常使用。 这一步完成后,Oracle系统安装成功。 提 示 Oracle数据库中,默认情况下,所有系统的数据,SQL关键字等都是大写的,在操作过程中,Oracle会自动把这些内容转换为大写,因此用户

16、操作时不需考虑大小写问题,一般情况下,为了良好的程序风格,程序中建议关键字用大写,非关键字可以使用小写。 1.3 Oracle客户端工具 Oracle效劳器安装成功后,就可以通过客户端工具连接Oracle效劳器了,可以到Oracle官方下载Oracle专用的客户端软件,大多客户端工具都是基于Oracle客户端软件的。接下来介绍几种常用的Oracle客户端工具。 1.3.1 SQL*Plus工具 该工具是Oracle系统默认安装下,自带的一个客户端工具。在Windows命令行中输入“sqlplusw〞命令,就能够启动该工具了。 图 1.9 SQL*Plus工具 输入

17、用户名和密码后,如果SQL*Plus与数据库效劳器在同一台计算机上,并且当前效劳器下只有一个数据库实例,那么“主机字符串〞可以不用填写。 提 示 SQL*Plus工具虽然是Oracle自带的工具,但是在现实开发中,基于该环境对开发不方便,因此很少使用。 SQL*Plus连接成功后就如下图: 图 1.10 SQL*Plus工具登录后 1.3.2 SQL*Plus命令行工具 该命令行工具,提供了与数据库交互的能力和维护数据库的能力,包括了Oracle自带的SQL*Plus工具的全部功能,在Oracle管理中经常使用。在命令行中输入:“sqlplus /n

18、olog〞即可启动该工具。如以下图: 图 1.11 启动SQL*Plus命令行工具 输入“sqlplus /nolog〞命令后,只是启动了一个客户端进程,并没有与效劳器连接,连接到Oracle效劳器的命令是: conn 用户名/密码 as 连接身份@效劳器连接字符串 说明: 1、连接身份:表示该用户连接后拥有的权限。 Ø sysdba: 即数据库管理员,权限包括:翻开数据库效劳器、关闭数据库效劳器、备份数据库、恢复数据库、日志归档、会话限制、管理功能、创立数据库。sys用户必须用sysdba身份才能登录,system用户可以用普通身份登录。 Ø sysyoper

19、即数据库操作员,权限包括:翻开数据库效劳器、关闭数据库效劳器、备份数据库、恢复数据库、日志归档、会话限制。 Ø normal:即普通用户,权限只有查询某些数据表的数据。默认的身份是normal用户。 2、客户端工具可以根据“效劳器连接字符串〞对效劳器进行连接,有了连接字符串后,客户端就可以像操作本机一样操作远程数据库,因此“效劳器连接字符串〞的配置也叫本地网络效劳配置,如果SQL*Plus工具启动在效劳器上,并且效劳器上只有一个数据库实例的情况下,连接字符串可以缺省,在连接字符串中包括连接效劳器的协议,效劳器的地址,效劳器的端口等设置,Oracle效劳名等,该配置文件在Oracle安装目

20、录下的: network/ADMIN/。该文件是一个文本文件,用记事本翻开后如以下图所示: 图 1.12 效劳器连接字符串配置 1.3.3 配置本地网络效劳名 1、本地网络效劳名,即客户端与效劳器连接的字符串,本地网络效劳名是客户端的配置,Oracle客户端安装后,可以使用客户端自带的网络配置向导〔Net Configuration Assistant〕进行配置: 启动Net Configuration Assistant。选择“本地Net效劳名配置〞选项。如以下图所示: 图 1.13 启动Net Configuration Assistant 2、选

21、择“下一步〞,本步骤可以对本地网络效劳名进行添加、删除、测试是否正常、连接等操作,选择“添加〞选项。 图 1.14 Net Configuration Assistant 3、点击“下一步〞,填写效劳名,该效劳名就是Oracle安装时〔图1.1〕,为数据库取的全局数据库名。 图 1.15 效劳名配置 4、点击“下一步〞,选择效劳需要的协议,默认是TCP协议。推荐使用默认的TCP协议。 图 1.16 选择协议 5、点击“下一步〞,输入主机名,主机名可以是计算机名称,也可以是一个IP地址,主机如果是本机,可以使用本机计算机名称、“localho

22、st〞、“〞、或者本机的IP地址。 图 1.17 输入主机名和端口 6、单击“下一步〞,选择“是,进行测试〞选项。进入以下图界面。 图 1.18 测试成功 在测试时,默认采用的用户名和密码是system/manager进行测试,如果用户system的密码不是“manager〞,有可能测试通不过,更改登录密码后,输入正确的用户名和密码后再进行测试即可。 7、测试成功后,单击“下一步〞,出现如下界面,这一步是为本地网络效劳命名,即图12中的效劳器连接字符串名。 图 1.19 为网络效劳名命名 点击“下一步〞,配置就完成了,进入tnsnames.o

23、ra文件中查看,就出现了如图1.12中的内容。 1.3.4 PL/SQL Developer工具 在实际Oracle开发中,经常使用一个功能强大的第三方工具:“PL/SQL Developer〞工具。PL/SQL Developer根本上可以实现Oracle开发中的任何操作。它运行在客户端时必须先安装Oracle客户端,并且通过网络配置向导配置网络效劳名后才能正常与效劳器连接。 PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的

24、一个重要组成局部。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。 PL/SQL编辑器具有语法加强、SQL和PL/SQL帮助、对象描述、代码助手、编译器提示、PL/SQL完善、代码内容、代码分级、浏览器按钮、超链接导航、宏库等许多智能特性,能够满足要求性最高的用户需求。 图 1.20 PL/SQL Developer 1.4 Oracle效劳 Oracle在windows中安装完成后,会安装很多效劳,下面介绍几个主要的效劳。 图 1.21 Oracle效劳 OracleService+效劳名,该

25、效劳是数据库启动的根底,只有该效劳启动了,Oracle数据库才能正常启动。这是必须启动的效劳。 OracleOraDb10g_home1TNSListener,该效劳是效劳器端为客户端提供的监听效劳,只有该效劳在效劳器上正常启动,客户端才能连接到效劳器。该监听效劳接收客户端发出的请求,然后将请求传递给数据库效劳器。一旦建立了连接,客户端和数据库效劳器就能直接通信了。 OracleOraDb10g_home1iSQL*Plus,该效劳提供了用浏览器对数据库中数据操作的方式。该效劳启动后,就可以使用浏览器进行远程登录并进行数据库操作了。如以下图所示: 图 1.22 iSQL*Plus

26、 OracleDBConsole+效劳名,Oracle10g中的一个新效劳。在Oracle9i之前,Oracle官方提供了一个基于图形界面的企业管理器〔EM〕,从Oracle10g开始,Oracle提供了一个基于B/S的企业管理器,在操作系统的命令行中输入命令:emctl start dbconsole,就可以启动OracleDbConsole效劳,如以下图所示: 图 1.23 EM效劳的启动 效劳启动之后,就可以在浏览器中输入上图中进入EM的地址,使用B/S方式管理Oracle效劳器。 1.5 Oracle启动和关闭 OracleService启动动后,就可以对数据库

27、进行管理了,Oracle的启动和关闭是最根本的命令,在SQL*Plus中,启动Oracle必须是sys用户,命令格式是: startup open 图 1.24 Oracle效劳启动 Oracle效劳关闭用命令:shutdown immediate 图 1.25 Oracle效劳关闭 1.6 Oracle用户和权限 Oracle中,一般不会轻易在一个效劳器上创立多个数据库,在一个数据库中,不同的工程由不同的用户访问,每一个用户拥有自身创立的数据库对象,因此用户的概念在Oracle中非常重要。Oracle的用户可以用CREATE USER命令来创立。其语法是:

28、 语法结构:创立用户 CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] 语法解析: LOCK|UNLOCK创立用户时是否锁定,默认为锁定状态。锁定的用户无法正常的登录进行数据库操作。 代码演示:创立用户 SQL> CREATE USER jerry 2 IDENTIFIED BY tom 3 ACCOUNT UNLOCK; 注 意 Oracle在SQL*Plus中的命令以分号〔;〕结尾,代表命令完毕并执行,系统同时会把该命令保存在缓存中,缓存中只保存最近执行过的命令,如果重新执行缓存中的命令

29、直接使用左斜杠符号〔/〕。如果命令不以分号结尾,该命令只是写入缓存保存起来,但并不执行。 尽管用户成功创立,但是还不能正常的登录Oracle数据库系统,因为该用户还没有任何权限。如果用户能够正常登录,至少需要CREATE SESSION系统权限。 Oracle用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权限比方:CREATE SESSION,CREATE TABLE等,拥有系统权限的用户,允许拥有相应的系统操作。数据库对象权限,比方对表中的数据进行增删改操作等,拥有数据库对象权限的用户可以对所拥有的对象进行对应的操作。 还有一个概念就是数据库角色〔role〕

30、数据库角色就是假设干个系统权限的集合。下面介绍几个常用角色: Ø CONNECT角色,主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT role。CONNECT是使用Oracle的简单权限,拥有CONNECT角色的用户,可以与效劳器建立连接会话〔session,客户端对效劳器连接,称为会话〕。 Ø RESOURCE角色,更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供应用户另外的权限以创立他们自己的表、序列、过程〔procedure〕、触发器〔trigger〕、索引〔index〕等。 Ø DBA角色,DBA role拥有所有的

31、系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。用户SYSTEM拥有DBA角色。 一般情况下,一个普通的用户〔如SCOTT〕,拥有CONNECT和RESOURCE两个角色即可进行常规的数据库开发工作。 可以把某个权限授予某个角色,可以把权限、角色授予某个用户。系统权限只能由DBA用户授权,对象权限由拥有该对象的用户授权,授权语法是: 语法结构:授权 GRANT角色|权限 TO 用户〔角色〕 代码演示:授权 SQL> GRANT CONNECT TO jerry; 授权成功。 SQL> GRANT RESOURCE TO jerry; 授权成功

32、 SQL> 语法结构:其他操作 //回收权限 REVOKE 角色|权限 FROM 用户〔角色〕 //修改用户的密码 ALTER USER 用户名 IDENTIFIED BY 新密码 //修改用户处于锁定〔非锁定〕状态 ALTER USER 用户名 ACCOUNT LOCK|UNLOCK 1.7 本章总结 Ø Oracle是基于对象的关系型数据库,Oracle产品免费,效劳收费。 Ø Oracle安装后默认会有两个管理员用户〔system,sys〕和一个普通用户Scott。 Ø Sql*plus是Oracle管理和数据操作的客户端工具。 Ø 客户端连接效

33、劳器前,效劳器要启动监听效劳,并且客户端工具要安装Oracle客户端,并且在客户端要建立本地网络效劳名。 Ø Oracle效劳和监听启动后才能对数据库进行操作。 Ø 用startup命令启动数据库,用shutdown命令关闭数据库。 Ø Oracle的角色包括了一系列系统权限和普通对象权限,可以把权限授权给角色,把权限或者角色授权给用户。 1.8 本章练习 1. 描述Oracle安装过程中的关键点。 2. 描述创立本地网络效劳名的步骤。 3. 描述Oracle主要效劳的作用。 4. Oracle使用什么命令才能启动和关闭。 5. 什么是Oracle权限和角色?他们的关系

34、是什么? 6. 创立一个用户,并授权CONNECT和RESOURCE。 章节知识结构图 第二章 数据查询和操作 ü Oracle数据类型 ü SQL建表和约束 ü SQL对数据增删改 ü SQL查询 ü Oracle伪列 内容提示 2.1 SQL简介 在第一学期的SQL Server学习中,已经知道,SQL是结构化查询语言〔Structured Query Language〕,专门用于数据存取、数据更新及数据库管理等操作。并且已经学习了用SQL语句对数据库的表进行增删改

35、查的操作。 在Oracle开发中,客户端把SQL语句发送给效劳器,效劳器对SQL语句进行编译、执行,把执行的结果返回给客户端。Oracle SQL语句由如下命令组成: l 数据定义语言〔DDL〕,包括CREATE〔创立〕命令、ALTER〔修改〕命令、DROP〔删除〕命令等。 l 数据操纵语言〔DML〕,包括INSERT〔插入〕命令、UPDATE〔更新〕命令、DELETE〔删除〕命令、SELECT … FOR UPDATE〔查询〕等。 l 数据查询语言〔DQL〕,包括根本查询语句、Order By子句、Group By子句等。 l 事务控制语言〔TCL〕,包括COMMIT〔提交〕命令、

36、SAVEPOINT〔保存点〕命令、ROLLBACK〔回滚〕命令。 l 数据控制语言〔DCL〕,GRANT〔授权〕命令、REVOKE〔撤销〕命令。 目前主流的数据库产品〔比方:SQL Server、Oracle〕都支持标准的SQL语句。数据定义语言,表的增删改操作,数据的简单查询,事务的提交和回滚,权限的授权和撤销等,Oracle与SQL Server在操作上根本一致。 2.2 Oracle数据类型 Oracle数据库的核心是表,表中的列使用到的常见数据类型如下: 类型 含义 CHAR(length) 存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小

37、于length,用空格填充。默认长度是1,最长不超过2000字节。 VARCHAR2(length) 存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。 NUMBER(p,s) 既可以存储浮点数,也可以存储整数,p表示数字的最大位数〔如果是小数包括整数局部和小数局部和小数点,p默认是38位〕,s是指小数位数。 DATE 存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间从公元前4712年1月1日到公元后4712年12月31日。 TIMESTAMP 不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。 CLOB

38、 存储大的文本,比方存储非结构化的XML文档 BLOB 存储二进制对象,如图形、视频、声音等。 表 2.1 Oracle的局部数据类型 对应NUMBER类型的例如: 格式 输入的数字 实际的存储 NUMBER NUMBER〔6,2〕 NUMBER〔4,2〕 输入的数字超过了所指定的精度,数据库不能存储 表 2.2 Number例如 对于日期类型,可以使用sysdate内置函数可以获取当前的系统日期和时间,返回DATE类型,用systimestamp函数可以返回当前日期、时间和时区。 图 2.2 sysdate和sysTi

39、mestamp Oracle的查询中,必须使用“select 列… from 表〞的完整语法,当查询单行函数的时候,from后面使用DUAL表,dual表在系统中只有一行一列,该表在输出单行函数时为了select…from的语法完整性而使用。 2.3 创立表和约束 Oracle创立表同SQL Server一样,使用CREATE TABLE命令来完成。创立约束那么使用如下命令: 语法格式:ALTER TABLE命令 ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。 不管创立表还是约束,与SQL Server根本相同,注意:在Oracle中def

40、ault是一个值,而SQL Server中default是一个约束,因此Oracle的default设置可以在建表的时候创立。 案例1:创立一个学生信息〔INFOS〕表和约束 代码演示:Oracle创立表和约束 CREATE TABLE INFOS ( STUID VARCHAR2(7) NOT NULL, --学号 学号=‘S’+班号+2位序号 STUNAME VARCHAR2(10) NOT NULL, --姓名 GENDER VARCHAR2(2) NOT NULL, --性别 AGE NUMBER(2) NOT NULL,

41、 --年龄 SEAT NUMBER(2) NOT NULL, --座号 ENROLLDATE DATE, --入学时间 STUADDRESS VARCHAR2(50) DEFAULT '地址不详', --住址 CLASSNO VARCHAR2(4) NOT NULL --班号 班号=学期序号+班级序号 ) / ① ALTER TABLE INFOS ADD CONSTRAINT PK_INFOS PRIMARY KEY(STUID) ② / ALTER TABLE INFOS ADD CONSTRAINT

42、CK_INFOS_GENDER CHECK(GENDER = '男' OR GENDER = '女') ③ / ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_SEAT CHECK(SEAT >=0 AND SEAT <=50) ④ / ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_AGE CHECK(AGE >=0 AND AGE<=100) ⑤ / ALTER TABLE INFOS ADD CONSTRAINT CK_INFOS_CLASSNO CHECK((CLASSNO

43、>='1001' AND CLASSNO<='1999') OR (CLASSNO >='2001' AND CLASSNO<='2999')) ⑥ / ALTER TABLE INFOS ADD CONSTRAINTS UN_STUNAME UNIQUE(STUNAME) ⑦ / 代码解析: ①——在Oracle代码中,“/〞执行缓存区中的语句,由于缓冲区中只存储一条刚刚保存过语句,由于每条语句没有用分号结尾,只是保存在缓冲区,因此每条语句后面都有单独一行“/〞。 ②——创立一个主键约束。 ③ 与 ④ ⑤ ⑥ ⑦一起创立各种check约束。其中⑦是唯一约束,表示该列

44、值是唯一的,列中的值不能重复。 Oracle中创立外键约束与SQL Server相同。比方:现有成绩表定义如下: 案例2:创立一个成绩表〔SCORES〕表和约束 代码演示:Oracle创立表和约束 CREATE TABLE SCORES ( ID NUMBER , --ID ① TERM VARCHAR2(2), --学期 S1或S2 STUID VARCHAR2(7) NOT NULL, --学号 EXAMNO VARCHAR2(7) NOT NULL, --考号 E+班号+序号 WRITTE

45、NSCORE NUMBER(4,1) NOT NULL, --笔试成绩 LABSCORE NUMBER(4,1) NOT NULL --机试成绩 ) ALTER TABLE SCORES ADD CONSTRAINT CK_SCORES_TERM CHECK(TERM = 'S1' OR TERM ='S2') / ALTER TABLE SCORES ADD CONSTRAINT FK_SCORES_INFOS_STUID FOREIGN KEY(STUID) REFERENCES INFOS(STUID) ② / 代码解析: ①——SQL S

46、erver中可以使用identity创立自动增长列,但是Oracle中的自动增长需要借助序列〔Sequence〕完成,在后面章节中讲解。 ②——Oracle中的外键约束定义。 2.4 数据操纵语言〔DML〕 数据操纵语言〔DML〕用于对数据库的表中数据进行添加、修改、删除和查询(后面专门学习该查询)操作。比照一期学习过的SQL Server操作,接下来一一介绍在Oracle中的操作。 2.4.1 简单查询 数据查询是用SELECT命令从数据库的表中提取信息。SELECT语句的语法是: 语法结构:简单查询 SELECT *|列名|表达式 FROM 表名 WHERE 条件 O

47、RDER BY 列名 语法解析: 1. *表示表中的所有列。 2. 列名可以选择假设干个表中的列名,各个列表中间用逗号分隔。 3. 表达式可以是列名、函数、常数等组成的表达式。 4. WHERE子句是查询的条件。 5. ORDER BY 要求在查询的结果中排序,默认是升序。 图 2.3 数据查询 Oracle中可以把查询的结果根据结果集中的表结构和数据形成一张新表。 语法结构:根据结果集创立表 CREATE TABLE 表名 AS SELECT语句 代码演示:根据结果集创立表 SQL> CREATE TABLE INFOS1 AS SELEC

48、T * FROM INFOS; TABLE CREATED 使用上面命令创立的新表中,不存在任何约束,并且把查询的数据一起插入到新表中。如果只复制表结构,只需使查询的条件不成立〔比方where 1=2〕,就不会查询从出任何数据,从而复制一个表结构。 代码演示:复制表结构 SQL> CREATE TABLE INFOS2 AS SELECT * FROM INFOS WHERE 1=2; TABLE CREATED 2.4.2 数据插入 用INSERT命令完成对数据的插入。 语法结构:根据结果集创立表 INSERT INTO 表名(列名1,列名2……)

49、VALUES (值1,值2……) 语法解析: 列名可以省略。当省略列名时,默认是表中的所有列名,列名顺序为表定义中列的先后顺序。 值的数量和顺序要与列名的数量和顺序一致。值的类型与列名的类型一致。 代码演示:向INFOS表和SCORES表中插入数据 SQL> INSERT INTO INFOS VALUES ( ① 2 's100102', '林冲', '男', 22, 2, 3 TO_DATE('2021-8-9 06:30:10',' YYYY-MM-DD HH24:MI:SS '), ② 4 '西安', '1001' 5 ) 6

50、 / 1 row inserted SQL> INSERT INTO INFOS VALUES ( 's100104','阮小二','男',26,3,SYSDATE,default,'1001'); ③ 1 row inserted SQL>COMMIT; ④ 代码解析: ①——表名后面缺省了列名,默认是表Infos中的所有列名,values中的值要与表中列一一对应,包括顺序和数据类型的对应。在SQL*Plus中一条语句可以写在多行,那么从第二行开始,sqlplus会为每一行前面给出行号。 ②——在Oracle中,日期是国际化的,不同的区域安装的数据库,默认的日期格

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服