员工培训讲稿Oracle培训课件

上传人:汽*** 文档编号:576473392 上传时间:2024-08-20 格式:PPT 页数:226 大小:4.66MB
返回 下载 相关 举报
员工培训讲稿Oracle培训课件_第1页
第1页 / 共226页
员工培训讲稿Oracle培训课件_第2页
第2页 / 共226页
员工培训讲稿Oracle培训课件_第3页
第3页 / 共226页
员工培训讲稿Oracle培训课件_第4页
第4页 / 共226页
员工培训讲稿Oracle培训课件_第5页
第5页 / 共226页
点击查看更多>>
资源描述

《员工培训讲稿Oracle培训课件》由会员分享,可在线阅读,更多相关《员工培训讲稿Oracle培训课件(226页珍藏版)》请在金锄头文库上搜索。

1、打造中国金融IT服务业第一品牌1宇信易诚员工培训-ORACLE培训打造中国金融IT服务业第一品牌2目录1 1 1 ORACLE数据库简介 ORACLE SQL2 2 2 ORACLE数据库对象3 3 3打造中国金融IT服务业第一品牌3Oracle Oracle 体系结构体系结构n每一个每一个Oracle数据库都是一个数据的集合,这些数据包数据库都是一个数据的集合,这些数据包含在一个或多个文件中。数据库有物理和逻辑两种结构。含在一个或多个文件中。数据库有物理和逻辑两种结构。nOracle实例由被称为系统全局区实例由被称为系统全局区(system global area,SGA)的内存区域和相应的

2、后台进程组成。这些后台进程的内存区域和相应的后台进程组成。这些后台进程负责负责SGA和数据库磁盘文件之间的交互。和数据库磁盘文件之间的交互。Oracle服务器 Oracle 数据库 Oracle 实例打造中国金融IT服务业第一品牌4Oracle Oracle 主要组件主要组件 实 例 内存结构内存结构 后台进程后台进程 PMON SMON DBWR LGWR CKPT 其他 数据库数据库数据文件数据文件数据文件控制文件控制文件日志文件日志文件参数文件归档日志文件归档日志文件口令文件SGA用户进程服务器进程PGA共享池数据缓冲区日志缓冲区打造中国金融IT服务业第一品牌5Oracle Oracle

3、 会话会话n会话是用户与 Oracle 服务器的单个连接n当用户与服务器建立连接时创建会话n当用户与服务器断开连接时关闭会话启动 Oracle 实例使用SQL*Plus连接至数据库创建用户进程创建服务器进程提交 SQL 查询打造中国金融IT服务业第一品牌6系统全局区系统全局区SGASGAn数据库信息存储于SGA,由多个数据库进程共享共享池共享池 数据缓冲区数据缓冲区 日志缓冲区日志缓冲区 SGA的内存结构的内存结构 打造中国金融IT服务业第一品牌7系统全局区系统全局区SGASGAn共享池n共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域n共享池由库缓存和数据字典缓存组成。n

4、共享池的大小直接影响数据库的性能。n数据缓冲区n用于存储从磁盘数据文件中读入的数据,所有用户共享。n服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。n数据缓冲区的大小对数据库的读取速度有直接的影响。n日志缓冲区n日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。n当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。n相对来说,日志缓冲区对数据库的性能影响较小。打造中国金融IT服务业第一品牌8程序全局区程序全局区PGAPGAn程序全局区(PGA)包含单个服务器进程所需的数据和控制信息nPGA

5、是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息nPGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放打造中国金融IT服务业第一品牌9后台进程后台进程nPMON 进程监控进程n清理出现故障的进程。 n释放所有当前挂起的锁定。n释放故障进程使用的资源。 nSMON 系统监控进程n在实例失败之后,重新打开数据库时自动恢复实例。 n整理数据文件的自由空间,将相邻区域结合起来。n释放不再使用的临时段nDBWR 数据写入进程n管理数据缓冲区,将最近使用过的块保留在内存中。n将修改后的缓冲区数据写入数据文件中。nLGWR 日志写入进程

6、n负责将日志缓冲区中的日志数据写入日志文件。 n系统有多个日志文件,该进程以循环的方式将数据写入文件.打造中国金融IT服务业第一品牌10Oracle Oracle 物理组件物理组件n物理组件就是物理组件就是Oracle数据库所使用的操作系统物理文件。数据库所使用的操作系统物理文件。物理文件可分为三类:物理文件可分为三类:物理组件数据文件 控制文件日志文件数据文件用于存储数据库数据,如表、索引数据等。控制文件是记录数据库物理结构的二进制文件。日志文件记录对数据库的所有修改信息,用于故障恢复打造中国金融IT服务业第一品牌11Oracle Oracle 逻辑组件逻辑组件n数据库的逻辑结构是从逻辑的角

7、度分析数据库的组成。数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:的逻辑组件包括:数据库 表空间 段 区 数据块 打造中国金融IT服务业第一品牌12Oracle Oracle 逻辑组件逻辑组件n表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。n每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。n表空间的大小等于构成该表空间的所有数据文件大小之和。打造中国金融IT服务业第一品牌13Oracle Oracle 逻辑组件逻辑组件n段n段是构成表空间的逻辑存储结构,段由一组区组成。

8、 n按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。n区n区为段分配空间,它由连续的数据块组成。 n当段中的所有空间已完全使用时,系统自动为该段分配一个新区。n区不能跨数据文件存在,只能存在于一个数据文件中。n数据块n数据块是Oracle服务器所能分配、读取或写入的最小存储单元。nOracle服务器以数据块为单位管理数据文件的存储空间打造中国金融IT服务业第一品牌14Oracle Oracle 网络配置网络配置nOracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。n服务器端配置监听器,客户端配置网络服务名。tnsnames.oraOracl

9、e 客户端listener.oraOracle 服务器打造中国金融IT服务业第一品牌15Oracle Oracle 网络配置网络配置n服务器端监听器配置信息包括监听协议、地址及其他相关信息。 配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器n客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中nOracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名打造中国金融IT服务业第一品牌16总结总

10、结nOracle 服务器由Oracle 数据库和 Oracle 实例组成 nOracle 实例由系统全局区内存结构和用于管理数据库的后台进程组成nOracle数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区nOracle数据库包括逻辑结构和物理结构打造中国金融IT服务业第一品牌17目录2 2 2 ORACLE数据库简介 ORACLE SQL1 1 1 ORACLE数据库对象3 3 3打造中国金融IT服务业第一品牌18基本SQLSELECT语句打造中国金融IT服务业第一品牌19 基本SELECTSELECT语句n nSELECTSELECT标识选择哪些列。标识选择哪些列。标识选择

11、哪些列。标识选择哪些列。n nFROMFROM标识从哪个表中选择。标识从哪个表中选择。标识从哪个表中选择。标识从哪个表中选择。打造中国金融IT服务业第一品牌20选择全部列打造中国金融IT服务业第一品牌21选择特定的列打造中国金融IT服务业第一品牌22Writing SQL StatementsWriting SQL StatementsnSQL 语言大小写不敏感。nSQL 可以写在一行或者多行n关键字不能被缩写也不能分行n各子句一般要分行写。n使用缩进提高语句的可读性。打造中国金融IT服务业第一品牌23算术运算符n数字和日期使用的数学表达式。打造中国金融IT服务业第一品牌24使用数学运算符打造

12、中国金融IT服务业第一品牌25操作符优先级n乘除的优先级高于加减。n同一优先级运算符从左向右执行。n括号内的运算先执行。打造中国金融IT服务业第一品牌26操作符优先级打造中国金融IT服务业第一品牌27使用括号打造中国金融IT服务业第一品牌28列的别名n列的别名:n重命名一个列。n便于计算。n紧跟列名,也可以在列名和别名之间加入关键字AS,以便在别名中包含空格或特殊的字符并区分大小写。打造中国金融IT服务业第一品牌29使用别名打造中国金融IT服务业第一品牌30连接符n连接符:n把列与列,列与字符连接在一起。n用|表示。n可以用来合成列。打造中国金融IT服务业第一品牌31字符串n字符串可以是SEL

13、ECT列表中的一个字符,数字,日期。n日期和字符只能在单引号中出现。n每当返回一行时,字符串被输出一次。打造中国金融IT服务业第一品牌32重复行n默认情况下,查询会返回全部行,包括重复行。打造中国金融IT服务业第一品牌33删除重复行n在SELECT子句中使用关键字DISTINCT删除重复行打造中国金融IT服务业第一品牌34总结n通过本课,您应该可以完成: n书写SELECT语句:返回表中的全部数据。n返回表中指定列的数据。n使用别名。打造中国金融IT服务业第一品牌35作业作业1 1n查询employees表列出所有办事员的姓名(FIRST_NAME+LAST_NAME)、编号(EMPLOYEE

14、_ID)和部门(DEPARTMENT_ID)其中姓名字段需要将FIRST_NAME列和LAST_NAME进行字符串连接n查询employees表列出所有办事员的EMPLOYEE_ID, SALARY,其中SALARY列需要显示办事员的收入为原始收入乘以2。打造中国金融IT服务业第一品牌36过滤和排序数据打造中国金融IT服务业第一品牌37在查询中过滤行返回在返回在9090号部门工作的所有员工号部门工作的所有员工的信息的信息打造中国金融IT服务业第一品牌38过滤过滤n使用WHERE子句,将不满足条件的行过滤掉。nWHERE子句紧随FROM子句。打造中国金融IT服务业第一品牌39字符和日期字符和日期

15、n字符和日期要包含在单引号中。n字符大小写敏感,日期格式敏感。n默认的日期格式是DD-MON-RR(如6/21/1999)。打造中国金融IT服务业第一品牌40比较运算比较运算打造中国金融IT服务业第一品牌41其它比较运算其它比较运算打造中国金融IT服务业第一品牌42BETWEENBETWEEN打造中国金融IT服务业第一品牌43ININ打造中国金融IT服务业第一品牌44LIKELIKEn使用LIKE运算选择类似的值n选择条件可以包含字符或数字:n%代表一个或多个字符。n_代表一个字符。打造中国金融IT服务业第一品牌45LIKELIKEn%和-可以同时使用。打造中国金融IT服务业第一品牌46 NU

16、LL NULLn使用NULL判断空值。打造中国金融IT服务业第一品牌47逻辑运算逻辑运算打造中国金融IT服务业第一品牌48ANDANDnAND要求与的关系为真。打造中国金融IT服务业第一品牌49ORORnOR要求或关系为真。打造中国金融IT服务业第一品牌50NOTNOT打造中国金融IT服务业第一品牌51优先级优先级打造中国金融IT服务业第一品牌52优先级优先级打造中国金融IT服务业第一品牌53优先级优先级打造中国金融IT服务业第一品牌54ORDER BYORDER BY子句子句n使用ORDER BY子句排序nASC: 升序nDESC: 降序nORDER BY子句在SELECT语句的结尾。打造中

17、国金融IT服务业第一品牌55降序排序降序排序打造中国金融IT服务业第一品牌56按别名排序按别名排序打造中国金融IT服务业第一品牌57多个列排序多个列排序打造中国金融IT服务业第一品牌58总结总结n通过本课,您应该可以完成: n使用WHERE子句过滤数据使用比较运算n使用BETWEEN, IN, LIKE和NULL运算n使用逻辑运算符AND, OR和NOTn使用ORDER BY子句进行排序。打造中国金融IT服务业第一品牌59作业作业2 2n查询employees表选择部门(department_id) 为30中的雇员n显示不带有“R”的雇员姓名(first_name).n显示雇员的详细资料,按姓

18、名(first_name)排序.n找出不收取佣金(null)或收取的佣金低于500的雇员打造中国金融IT服务业第一品牌60单行函数打造中国金融IT服务业第一品牌61SQL SQL 函数函数打造中国金融IT服务业第一品牌62单行函数单行函数n单行函数:n接受函数返回一个结果n只对一行进行变换n每行返回一个结果n可以转换数据类型n可以嵌套n参数可以是一列或一个值打造中国金融IT服务业第一品牌63单行函数单行函数打造中国金融IT服务业第一品牌64字符函数字符函数打造中国金融IT服务业第一品牌65大小写控制函数大小写控制函数打造中国金融IT服务业第一品牌66大小写控制函数大小写控制函数打造中国金融IT

19、服务业第一品牌67字符控制函数字符控制函数打造中国金融IT服务业第一品牌68字符控制函数字符控制函数打造中国金融IT服务业第一品牌69数字函数数字函数nROUND: 四舍五入nROUND(45.926, 2) 45.93nTRUNC:截断nTRUNC(45.926, 2) 45.92nMOD: 求余nMOD(1600, 300) 100打造中国金融IT服务业第一品牌70MODMOD函数函数打造中国金融IT服务业第一品牌71日期日期nOracle 内部使用数字存储日期: 世纪,年,月,日,小时,分钟,秒。n默认的日期格式是DD-MON-RR.可以只指定年的后两位在20世纪存放21世纪的日期。n同

20、样可以在21世纪存放20世纪的日期。打造中国金融IT服务业第一品牌72日期日期n函数SYSDATE返回:n日期n时间n日期的数学运算:n在日期上加上或减去一个数字结果仍为日期。n两个日期相减返回日期之间相差的天数。n可以用数字除24来向日期中加上或减去小时。打造中国金融IT服务业第一品牌73日期函数日期函数员工培训讲稿-Oracle培训打造中国金融IT服务业第一品牌74日期函数日期函数nMONTHS_BETWEEN (01-SEP-95,11-JAN-94)nADD_MONTHS (11-JAN-94,6)nNEXT_DAY (01-SEP-95,FRIDAY) nLAST_DAY(01-FE

21、B-95)19.677419411-JUL-9408-SEP-9528-FEB-95员工培训讲稿-Oracle培训打造中国金融IT服务业第一品牌75日期函数日期函数nAssume SYSDATE = 25-JUL-95:nROUND(SYSDATE,MONTH) nROUND(SYSDATE,YEAR)nTRUNC(SYSDATE,MONTH) nTRUNC(SYSDATE,YEAR) 01-AUG-9501-JAN-96 01-JUL-95 01-JAN-95 员工培训讲稿-Oracle培训打造中国金融IT服务业第一品牌76转换函数转换函数员工培训讲稿-Oracle培训打造中国金融IT服务业

22、第一品牌77隐式数据类型转换隐式数据类型转换nOracle 自动完成下列转换:员工培训讲稿-Oracle培训打造中国金融IT服务业第一品牌78显式数据类型转换显式数据类型转换打造中国金融IT服务业第一品牌79TO_CHARTO_CHAR函数对日期的转换函数对日期的转换n格式:n必须包含在单引号中而且大小写敏感。n可以包含任意的有效的日期格式。n可以使用fm去掉多余的空格或者前导零。n与日期指用逗号隔开。打造中国金融IT服务业第一品牌80日期格式的元素日期格式的元素打造中国金融IT服务业第一品牌81日期格式的元素日期格式的元素n时间格式nHH24:MI:SS AM 15:45:32 PMn使用双

23、引号向日期中添加字符nDD of MONTH 12 of OCTOBER打造中国金融IT服务业第一品牌82TO_CHARTO_CHAR函数对日期的转换函数对日期的转换打造中国金融IT服务业第一品牌83TO_CHARTO_CHAR函数对数字的转换函数对数字的转换n下面是在TO_CHAR函数中经常使用的几种格式:打造中国金融IT服务业第一品牌84TO_NUMBERTO_NUMBER和和TO_DATETO_DATE函数函数打造中国金融IT服务业第一品牌85嵌套函数嵌套函数n单行函数可以嵌套。n嵌套函数的执行顺序是由内到外。打造中国金融IT服务业第一品牌86NVLNVL函数函数n将空值转换成一个已知的

24、值:n可以使用的数据类型有日期、字符、数字。n函数的一般形式:nNVL(commission_pct,0)nNVL(hire_date,01-JAN-97)nNVL(job_id,No Job Yet)打造中国金融IT服务业第一品牌87使用使用NVLNVL函数函数打造中国金融IT服务业第一品牌88条件表达式条件表达式n在SQL语句中使用IF-THEN-ELSE 逻辑。n使用两种方法:nCASE表达式nDECODE函数打造中国金融IT服务业第一品牌89CASECASE表达式表达式打造中国金融IT服务业第一品牌90DECODEDECODE函数函数打造中国金融IT服务业第一品牌91总结总结n通过本章

25、学习,您应该学会: n使用函数对数据进行计算n使用函数修改数据n使用函数控制一组数据的输出格式n使用函数改变日期的显示格式n使用函数改变数据类型n使用NVL 函数n使用IF-THEN-ELSE 逻辑打造中国金融IT服务业第一品牌92作业作业3 3n查询emp表找出各月最后一天受雇的所有雇员.n以年-月-日显示所有雇员的yyyy-mm-ddemp表打造中国金融IT服务业第一品牌93多表查询与分组函数打造中国金融IT服务业第一品牌94多表查询多表查询n从多个表中获取数据打造中国金融IT服务业第一品牌95笛卡尔集笛卡尔集n为了避免笛卡尔集,可以在WHERE加入有效的连接条件。打造中国金融IT服务业第

26、一品牌96Oracle Oracle 连接连接n使用连接在多个表中查询数据n在WHERE字句中写入连接条件。n在表中有相同列时,在列名之前加上表名前缀。打造中国金融IT服务业第一品牌97内连接内连接n内连接只返回满足连接条件的数据打造中国金融IT服务业第一品牌98内连接内连接n对于多个连接条件使用AND操作符n对于区分重复的列名n使用表名前缀在多个表中区分相同的列。n使用表名可以提高效率。n在不同表中具有相同列名的列可以用别名加以区分。n对于多个表可以使用表的别名n使用别名可以简化查询。n使用表名前缀可以提高执行效率。打造中国金融IT服务业第一品牌99外连接外连接n两个表在连接过程中除了返回满

27、足连接条件的行以外还返回左(或右)表中不满足条件的行,这种连接称为左(或右)外联接。n两个表在连接过程中除了返回满足连接条件的行以外还返回两个表中不满足条件的行,这种连接称为满外联接。打造中国金融IT服务业第一品牌100左外联接左外联接打造中国金融IT服务业第一品牌101右外联接右外联接打造中国金融IT服务业第一品牌102满外联接满外联接打造中国金融IT服务业第一品牌103增加连接条件增加连接条件打造中国金融IT服务业第一品牌104分组函数分组函数n分组函数作用于一组数据,并对一组数据返回一个值。打造中国金融IT服务业第一品牌105组函数类型与语法组函数类型与语法nAVG nCOUNT nMA

28、X nMIN nSTDDEVnSUM打造中国金融IT服务业第一品牌106AVGAVG(平均值)和(平均值)和SUMSUM(合计)函数(合计)函数n可以对数值型数据使用AVG和SUM函数。打造中国金融IT服务业第一品牌107MINMIN(最小值)和(最小值)和MAXMAX(最大值)函数(最大值)函数n可以对任意数据类型的数据使用MIN和MAX函数。打造中国金融IT服务业第一品牌108COUNTCOUNT(计数)函数(计数)函数nCOUNT(*)返回表中记录总数。打造中国金融IT服务业第一品牌109DISTINCTDISTINCT关键字关键字nCOUNT(DISTINCTexpr)返回expr非空

29、且不重复的记录总数打造中国金融IT服务业第一品牌110组函数与空值组函数与空值n组函数忽略空值。打造中国金融IT服务业第一品牌111在组函数中使用在组函数中使用NVLNVL函数函数nNVL函数使分组函数无法忽略空值。打造中国金融IT服务业第一品牌112分组数据分组数据打造中国金融IT服务业第一品牌113分组数据分组数据: GROUP BY: GROUP BY子句子句n可以使用GROUPBY子句将表中的数据分成若干组n在SELECT列表中所有未包含在组函数中的列都应该 包含在GROUP BY子句中。打造中国金融IT服务业第一品牌114分组数据分组数据: GROUP BY: GROUP BY子句子

30、句n包含在GROUP BY 子句中的列不必包含在SELECT列表中。打造中国金融IT服务业第一品牌115使用多个列分组使用多个列分组打造中国金融IT服务业第一品牌116在在GROUP BYGROUP BY子句中包含多个列子句中包含多个列打造中国金融IT服务业第一品牌117过滤分组过滤分组打造中国金融IT服务业第一品牌118过滤分组:过滤分组:HAVINGHAVING子句子句n使用HAVING过滤分组:n1.行已经被分组。n2.使用了组函数。n3.满足HAVING子句中条件的分组将被显示。打造中国金融IT服务业第一品牌119嵌套组函数嵌套组函数n显示平均工资的最大值打造中国金融IT服务业第一品牌

31、120作业作业n查询emp表求每个部门的总工资n求部门的总工资,只显示总工资小于10000的部门打造中国金融IT服务业第一品牌121子查询和集合打造中国金融IT服务业第一品牌122使用子查询解决问题使用子查询解决问题打造中国金融IT服务业第一品牌123子查询子查询n子查询(内查询) 在主查询之前一次执行完成。n子查询的结果被主查询使用(外查询)。打造中国金融IT服务业第一品牌124子查询注意事项子查询注意事项n子查询要包含在括号内。n将子查询放在比较条件的右侧。n除非进行Top-N 分析,否则不要在子查询中使用ORDER BY子句。n单行操作符对应单行子查询,多行操作符对应多行子查询。打造中国

32、金融IT服务业第一品牌125子查询类型子查询类型打造中国金融IT服务业第一品牌126单行子查询单行子查询n只返回一行。n使用单行比较操作符。打造中国金融IT服务业第一品牌127执行单行子查询执行单行子查询打造中国金融IT服务业第一品牌128子查询中的空值问题子查询中的空值问题打造中国金融IT服务业第一品牌129多行子查询多行子查询n返回多行。n使用多行比较操作符。打造中国金融IT服务业第一品牌130在多行子查询中使用在多行子查询中使用ANYANY操作符操作符打造中国金融IT服务业第一品牌131在多行子查询中使用在多行子查询中使用ALL ALL 操作符操作符打造中国金融IT服务业第一品牌132集

33、合集合nUNION操作符nUNION操作符返回两个查询的结果集的并集打造中国金融IT服务业第一品牌133UNIONUNION操作符举例操作符举例打造中国金融IT服务业第一品牌134UNION ALL UNION ALL 操作符操作符nUNION ALL操作符返回两个查询的结果集的并集以及两个结果集的重复部分(不去重)打造中国金融IT服务业第一品牌135UNION ALL UNION ALL 操作符举例操作符举例打造中国金融IT服务业第一品牌136INTERSECT INTERSECT 操作符操作符nINTERSECT 操作符返回两个结果集的交集打造中国金融IT服务业第一品牌137INTERSE

34、CT INTERSECT 操作符举例操作符举例打造中国金融IT服务业第一品牌138MINUS MINUS 操作符操作符nMINUS 操作符返回两个结果集的补集打造中国金融IT服务业第一品牌139MINUS MINUS 操作符举例操作符举例打造中国金融IT服务业第一品牌140总结总结n通过本章学习,您已经学会: n在什么时候遇到什么问题应该使用子查询。n在查询是基于未知的值时应使用子查询。n使用UNION操作符n使用UNION ALL 操作符n使用INTERSECT 操作符n使用MINUS操作符打造中国金融IT服务业第一品牌141作业作业n查找所有10部门的经理和 20部门的办事员n查询工资要大

35、于部门所有人的工资,大于部门的最高工资打造中国金融IT服务业第一品牌142处理数据打造中国金融IT服务业第一品牌143数据控制语言数据控制语言nDML 可以在下列条件下执行:n向表中插入数据n修改现存数据n删除现存数据n事务是由完成若干项工作的DML语句组成的。打造中国金融IT服务业第一品牌144插入数据插入数据打造中国金融IT服务业第一品牌145插入数据插入数据n为每一列添加一个新值。n按列的默认顺序列出各个列的值。n在INSERT子句中随意列出列名和他们的值。n字符和日期型数据应包含在单引号中。打造中国金融IT服务业第一品牌146向表中插入空值向表中插入空值n隐式方式: 在列名表中省略该列

36、的值。n显示方式:在VALUES 子句中指定空值。打造中国金融IT服务业第一品牌147插入指定的值插入指定的值打造中国金融IT服务业第一品牌148从其它表中拷贝数据从其它表中拷贝数据n在INSERT 语句中加入子查询n不必书写VALUES 子句。n子查询中的值列表应于INSERT子句中的列名对应。打造中国金融IT服务业第一品牌149更新数据更新数据打造中国金融IT服务业第一品牌150更新数据更新数据n使用UPDATE语句更新数据。n可以一次更新多条数据。n使用WHERE子句指定需要更新的数据。n如果省略WHERE子句,则表中的所有数据都将被更新。打造中国金融IT服务业第一品牌151在在UPDA

37、TEUPDATE语句中使用子查询语句中使用子查询n更新114号员工的工作和工资使其与205号员工相同。打造中国金融IT服务业第一品牌152删除数据删除数据打造中国金融IT服务业第一品牌153删除数据删除数据n使用DELETE语句从表中删除数据。n使用WHERE子句指定删除的记录。n如果省略WHERE子句,则表中的全部数据将被删除。打造中国金融IT服务业第一品牌154在在DELETE DELETE 中使用子查询中使用子查询n在DELETE 中使用子查询,使删除基于另一个表中的数据。打造中国金融IT服务业第一品牌155数据库事务数据库事务n数据库事务由以下的部分组成:n一个或多个DML 语句n一个

38、DDL 语句n一个DCL 语句n以第一个DML语句的执行作为开始n以下面的其中之一作为结束:nCOMMIT 或ROLLBACK语句nDDL 或DCL 语句(自动提交)n用户会话正常结束打造中国金融IT服务业第一品牌156COMMITCOMMIT和和ROLLBACKROLLBACK语句的优点语句的优点n使用COMMIT和ROLLBACK语句,我们可以: n确保数据完整性。n数据改变被提交之前预览。n将逻辑上相关的操作分组。打造中国金融IT服务业第一品牌157回滚到保留点回滚到保留点n使用SAVEPOINT语句在当前事务中创建保存点。n使用ROLLBACK TOSAVEPOINT语句回滚到创建的保

39、存点打造中国金融IT服务业第一品牌158事务进程事务进程n自动提交在以下情况中执行:nDDL 语句。nDCL 语句。n会话异常结束或系统异常会导致自动回滚。打造中国金融IT服务业第一品牌159提交或回滚前的数据状态提交或回滚前的数据状态n改变前的数据状态是可以恢复的n执行DML 操作的用户可以通过SELECT语句查询之前的修正n其他用户不能看到当前用户所做的改变,直到当前用户结束事务。nDML语句所涉及到的行被锁定,其他用户不能操作。打造中国金融IT服务业第一品牌160提交后的数据状态提交后的数据状态n数据的改变已经被保存到数据库中。n改变前的数据已经丢失。n所有用户可以看到结果。n锁被释放,

40、其他用户可以操作涉及到的数据。n所有保存点被释放。打造中国金融IT服务业第一品牌161提交数据提交数据n改变数据n提交改变打造中国金融IT服务业第一品牌162数据回滚后的状态数据回滚后的状态n使用ROLLBACK语句可使数据变化失效:n数据改变被取消。n修改前的数据状态可以被恢复。n锁被释放。打造中国金融IT服务业第一品牌163读一致性读一致性n读一致性为数据提供一个一致的视图。n一个用户的对数据的改变不会影响其他用户的改变。n对于相同的数据读一致性保证:n查询不等待修改。n修改不等待查询。打造中国金融IT服务业第一品牌164总结总结n通过本章学习, 您应学会如何使用DML语句改变数据和事务控

41、制打造中国金融IT服务业第一品牌165作业作业n为表DEPT80插入一行数据nEmployee_id:1587nName :JohnnEmail:nHire_date:sysdatenJob_id:AD_PRESn更新DEPT80表,将lindsey的工资和岗位修改为与Ellen完全相同n删除雇员lindsey打造中国金融IT服务业第一品牌166目录目录 ORACLE数据库简介 ORACLE SQL1 1 1 ORACLE数据库对象2 2 23 3 3打造中国金融IT服务业第一品牌167常见的数据库对象常见的数据库对象打造中国金融IT服务业第一品牌168表打造中国金融IT服务业第一品牌169创

42、建表创建表打造中国金融IT服务业第一品牌170命名规则命名规则n表名和列名:n必须以字母开头n必须在130 个字符之间n必须只能包含AZ, az, 09, _, $, 和#n必须不能和用户定义的其他对象重名n必须不能是Oracle 的保留字打造中国金融IT服务业第一品牌171Oracle Oracle 数据库中的表数据库中的表n用户定义的表:n用户自己创建并维护的一组表n包含了用户所需的信息n数据字典:n由Oracle Server自动创建的一组表n包含数据库信息打造中国金融IT服务业第一品牌172查询数据字典查询数据字典打造中国金融IT服务业第一品牌173数据类型数据类型打造中国金融IT服务

43、业第一品牌174使用子查询创建表使用子查询创建表打造中国金融IT服务业第一品牌175ALTER TABLEALTER TABLE语句语句n使用ALTERTABLE语句可以:n追加新的列n修改现有的列n为新追加的列定义默认值n删除一个列打造中国金融IT服务业第一品牌176追加一个新列追加一个新列打造中国金融IT服务业第一品牌177修改一个列修改一个列打造中国金融IT服务业第一品牌178删除一个列删除一个列打造中国金融IT服务业第一品牌179删除表删除表n数据和结构都被删除n所有正在运行的相关事物被提交n所有相关索引被删除nDROP TABLE语句不能回滚打造中国金融IT服务业第一品牌180改变对

44、象的名称改变对象的名称n执行RENAME语句改变表, 视图, 序列, 或同义词的名称n必须是对象的拥有者打造中国金融IT服务业第一品牌181清空表清空表nTRUNCATE TABLE语句:n删除表中所有的数据n释放表的存储空间nTRUNCATE语句不能回滚n可以使用DELETE语句删除数据打造中国金融IT服务业第一品牌182约束约束n约束是表级的强制规定n约束放置在表中删除有关联关系的数据n有以下五种约束:nNOT NULLnUNIQUE nPRIMARY KEYnFOREIGN KEYnCHECK打造中国金融IT服务业第一品牌183NOT NULLNOT NULL约束约束打造中国金融IT服务

45、业第一品牌184UNIQUEUNIQUE约束约束打造中国金融IT服务业第一品牌185UNIQUEUNIQUE约束约束打造中国金融IT服务业第一品牌186PRIMARY KEYPRIMARY KEY约束约束打造中国金融IT服务业第一品牌187PRIMARY KEYPRIMARY KEY约束约束打造中国金融IT服务业第一品牌188FOREIGN KEYFOREIGN KEY约束约束打造中国金融IT服务业第一品牌189FOREIGN KEYFOREIGN KEY约束约束打造中国金融IT服务业第一品牌190CHECKCHECK约束约束n定义每一行必须满足的条件n以下的表达式是不允许的:n出现CURRV

46、AL, NEXTVAL, LEVEL, 和ROWNUM伪列n使用SYSDATE, UID, USER, 和USERENV函数n在查询中涉及到其它列的值打造中国金融IT服务业第一品牌191添加与删除约束添加与删除约束打造中国金融IT服务业第一品牌192总结总结n通过本章学习应该掌握n如何建立一个表n如何给表的列上增加主键,外键等约束n修改和删除表打造中国金融IT服务业第一品牌193作业作业n建立author表n列名:id number(3)nName:varchar2(10)nSal:number(6,2)n维护author表n为author表增加一列address varchar2(100)n

47、修改author表sal列为number(20,2)n删除author表n在dept表的name列增加唯一约束un_dept_namen在dept表的eno列上增加主键约束pk_emp01打造中国金融IT服务业第一品牌194视图打造中国金融IT服务业第一品牌195视图视图打造中国金融IT服务业第一品牌196为什么使用视图为什么使用视图n控制数据访问n简化查询n数据独立性n避免重复访问相同的数据打造中国金融IT服务业第一品牌197简单视图和复杂视图简单视图和复杂视图打造中国金融IT服务业第一品牌198创建视图创建视图打造中国金融IT服务业第一品牌199查询视图查询视图打造中国金融IT服务业第一品

48、牌200修改视图修改视图打造中国金融IT服务业第一品牌201创建复杂视图创建复杂视图打造中国金融IT服务业第一品牌202删除视图删除视图打造中国金融IT服务业第一品牌203总结总结n通过本章学习,您已经了解视图的优点和基本应用:n控制数据访问n简化查询n数据独立性n删除时不删除数据打造中国金融IT服务业第一品牌204作业作业n基于emp表的雇员号、雇员名、工资和部门号建立简单视图emp_vu,并定义列名为eno、name、sal、dnon删除视图emp_vu打造中国金融IT服务业第一品牌205其他数据库对象打造中国金融IT服务业第一品牌206序列序列n序列:n自动提供唯一的数值n共享对象n主要

49、用于提供主键值n代替应用代码n将序列值装入内存可以提高访问效率打造中国金融IT服务业第一品牌207创建序列创建序列n创建序列DEPT_DEPTID_SEQ为表DEPARTMENTS提供主键n使用CYCLE选项打造中国金融IT服务业第一品牌208NEXTVALNEXTVAL和和CURRVALCURRVAL伪列伪列nNEXTVAL返回序列中下一个有效的值,任何用户都可以引用nCURRVAL中存放序列的当前值nNEXTVAL应在CURRVAL之前指定,二者应同时有效打造中国金融IT服务业第一品牌209序列应用举例序列应用举例打造中国金融IT服务业第一品牌210使用序列使用序列n将序列值装入内存可提高

50、访问效率n序列在下列情况下出现裂缝:n回滚n系统异常n多个表同时使用同一序列打造中国金融IT服务业第一品牌211修改序列修改序列n修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存打造中国金融IT服务业第一品牌212修改序列的注意事项修改序列的注意事项n必须是序列的拥有者或对序列有ALTER权限n只有将来的序列值会被改变n改变序列的初始值只能通过删除序列之后重建序列的方法实现打造中国金融IT服务业第一品牌213删除序列删除序列n使用DROP SEQUENCE语句删除序列n删除之后,序列不能再次被引用打造中国金融IT服务业第一品牌214索引索引n索引:n一种数据库对象n通过指针加速

51、Oracle 服务器的查询速度n通过快速定位数据的方法,减少磁盘I/On索引与表相互独立nOracle 服务器自动使用和维护索引打造中国金融IT服务业第一品牌215创建索引创建索引n自动创建: 在定义PRIMARY KEY或UNIQUE约束后系统自动在相应的列上创建唯一性索引n手动创建: 用户可以在其它列上创建非唯一的索引,以加速查询打造中国金融IT服务业第一品牌216创建索引创建索引n在表EMPLOYEES的列LAST_NAME上创建索引打造中国金融IT服务业第一品牌217什么时候创建索引什么时候创建索引n以下情况可以创建索引:n列中数据值分布范围很广n列中包含大量空值n列经常在WHERE子

52、句或连接条件中出现n表经常被访问而且数据量很大,访问的数据大概占数据总量的2%到4%打造中国金融IT服务业第一品牌218什么时候不要创建索引什么时候不要创建索引n下列情况不要创建索引:n表很小n列不经常作为连接条件或出现在WHERE子句中n查询的数据大于2%到4%n表经常更新n加索引的列包含在表达式中打造中国金融IT服务业第一品牌219查询索引查询索引n可以使用数据字典视图USER_INDEXES和USER_IND_COLUMNS查看索引的信息打造中国金融IT服务业第一品牌220基于函数的索引基于函数的索引n基于函数的索引是一个基于表达式的索引n索引表达式由列, 常量, SQL 函数和用户自定

53、义的函数打造中国金融IT服务业第一品牌221删除索引删除索引打造中国金融IT服务业第一品牌222同义词同义词n使用同义词访问相同的对象:n方便访问其它用户的对象n缩短对象名字的长度打造中国金融IT服务业第一品牌223创建和删除同义词创建和删除同义词打造中国金融IT服务业第一品牌224总结总结n通过本章学习,您已经可以:n使用序列n通过数据字典视图USER_SEQUENCES查看序列信息n使用索引提高查询效率n通过数据字典视图USER_INDEXES查看索引信息n为数据对象定义同义词打造中国金融IT服务业第一品牌225作业作业n基于emp表的deptno、job列建立复合索引idx_dept_jobn建立序列deptno_seq:序列初值50、序列增量1、序列最大值90n以scott用户登录到数据库,基于emp表建立同义词emp1打造中国金融IT服务业第一品牌226Q&A

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号