版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、打造中国金融IT服务业第一品牌2目录 ORACLE数据库简介 ORACLE SQL ORACLE数据库对象打造中国金融IT服务业第一品牌3Oracle Oracle 体系结构体系结构n 每一个每一个Oracle数据库都是一个数据的集合,这些数据包数据库都是一个数据的集合,这些数据包含在一个或多个文件中。数据库有物理和逻辑两种结构含在一个或多个文件中。数据库有物理和逻辑两种结构。n Oracle实例由被称为系统全局区实例由被称为系统全局区(system global area,SGA)的内存区域和相应的后台进程组成。这些后台进程的内存区域和相应的后台进程组成。这些后台进程负责负责SGA和数据库磁
2、盘文件之间的交互。和数据库磁盘文件之间的交互。Oracle服务器 Oracle 数据库 Oracle 实例打造中国金融IT服务业第一品牌4Oracle Oracle 主要组件主要组件 实 例 内存结构内存结构 后台进程后台进程 PMON SMON DBWR LGWR CKPT 其他 数据库数据库数据文件数据文件数据文件控制文件控制文件日志文件日志文件参数文件归档日志文件归档日志文件口令文件SGA用户进程服务器进程PGA共享池数据缓冲区日志缓冲区打造中国金融IT服务业第一品牌5Oracle Oracle 会话会话n 会话是用户及 Oracle 服务器的单个连接n 当用户及服务器建立连接时创建会话
3、n 当用户及服务器断开连接时关闭会话启动 Oracle 实例使用SQL*Plus连接至数据库创建用户进程创建服务器进程提交 SQL 查询打造中国金融IT服务业第一品牌6系统全局区系统全局区SGASGAn 数据库信息存储于SGA,由多个数据库进程共享共享池共享池 数据缓冲区数据缓冲区 日志缓冲区日志缓冲区 SGA的内存结构的内存结构 打造中国金融IT服务业第一品牌7系统全局区系统全局区SGASGAn 共享池n 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域n 共享池由库缓存和数据字典缓存组成。n 共享池的大小直接影响数据库的性能。n 数据缓冲区 n 用于存储从磁盘数据文件中
4、读入的数据,所有用户共享。n 服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。n 数据缓冲区的大小对数据库的读取速度有直接的影响。n 日志缓冲区 n 日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。 n 当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。n 相对来说,日志缓冲区对数据库的性能影响较小。打造中国金融IT服务业第一品牌8程序全局区程序全局区PGAPGAn 程序全局区(PGA)包含单个服务器进程所需的数据和控制信息n PGA是在用户进程连接到数据库并创建一个会话时自动分配的,
5、保存每个及Oracle 数据库连接的用户进程所需的信息n PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放打造中国金融IT服务业第一品牌9后台进程后台进程n PMON 进程监控进程n 清理出现故障的进程。 n 释放所有当前挂起的锁定。n 释放故障进程使用的资源。 n SMON 系统监控进程n 在实例失败之后,重新打开数据库时自动恢复实例。 n 整理数据文件的自由空间,将相邻区域结合起来。n 释放不再使用的临时段n DBWR 数据写入进程n 管理数据缓冲区,将最近使用过的块保留在内存中。n 将修改后的缓冲区数据写入数据文件中。n LGWR 日志写入进程n 负责将日志缓冲区中的日
6、志数据写入日志文件。 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 段是构成表空间的逻辑存储结构,段由一组区组成。 n 按
8、照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。n 区n 区为段分配空间,它由连续的数据块组成。 n 当段中的所有空间已完全使用时,系统自动为该段分配一个新区。n 区不能跨数据文件存在,只能存在于一个数据文件中。n 数据块n 数据块是Oracle服务器所能分配、读取或写入的最小存储单元。n Oracle服务器以数据块为单位管理数据文件的存储空间打造中国金融IT服务业第一品牌14Oracle Oracle 网络配置网络配置n Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。n 服务器端配置监听器,客户端配置网络服务名。tnsnames.or
9、aOracle 客户端listener.oraOracle 服务器打造中国金融IT服务业第一品牌15Oracle Oracle 网络配置网络配置n 服务器端监听器配置信息包括监听协议、地址及其他相关信息。 配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器n 客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,及服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中n Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名打造中国金融IT服务业
10、第一品牌16总结总结n Oracle 服务器由Oracle 数据库和 Oracle 实例组成 n Oracle 实例由系统全局区内存结构和用于管理数据库的后台进程组成n Oracle 数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区n Oracle 数据库包括逻辑结构和物理结构打造中国金融IT服务业第一品牌17目录 ORACLE数据库简介 ORACLE SQL ORACLE数据库对象打造中国金融IT服务业第一品牌18基本SQL SELECT语句打造中国金融IT服务业第一品牌19 基本SELECTSELECT语句nSELECT标识选择哪些列。标识选择哪些列。nFROM标识从哪个表
11、中选择。标识从哪个表中选择。打造中国金融IT服务业第一品牌20选择全部列打造中国金融IT服务业第一品牌21选择特定的列打造中国金融IT服务业第一品牌22Writing SQL StatementsWriting SQL Statementsn SQL 语言大小写不敏感。n SQL 可以写在一行或者多行n 关键字不能被缩写也不能分行n 各子句一般要分行写。n 使用缩进提高语句的可读性。打造中国金融IT服务业第一品牌23算术运算符n 数字和日期使用的数学表达式。打造中国金融IT服务业第一品牌24使用数学运算符打造中国金融IT服务业第一品牌25操作符优先级n 乘除的优先级高于加减。n 同一优先级运算
12、符从左向右执行。n 括号内的运算先执行。打造中国金融IT服务业第一品牌26操作符优先级打造中国金融IT服务业第一品牌27使用括号打造中国金融IT服务业第一品牌28列的别名n 列的别名:n 重命名一个列。n 便于计算。n 紧跟列名,也可以在列名和别名之间加入关键字AS,以便在别名中包含空格或特殊的字符并区分大小写。打造中国金融IT服务业第一品牌29使用别名打造中国金融IT服务业第一品牌30连接符n 连接符:n 把列及列,列及字符连接在一起。n 用|表示。n 可以用来合成列。打造中国金融IT服务业第一品牌31字符串n 字符串可以是SELECT列表中的一个字符,数字,日期。n 日期和字符只能在单引号
13、中出现。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_ID)和部门(DEPARTMENT_ID)
14、其中姓名字段需要将FIRST_NAME列和LAST_NAME进行字符串连接n 查询employees表列出所有办事员的EMPLOYEE_ID, SALARY,其中SALARY列需要显示办事员的收入为原始收入乘以2。打造中国金融IT服务业第一品牌36过滤和排序数据打造中国金融IT服务业第一品牌37在查询中过滤行返回在90号部门工作的所有员工的信息打造中国金融IT服务业第一品牌38过滤过滤n 使用WHERE子句,将不满足条件的行过滤掉。n WHERE子句紧随FROM子句。打造中国金融IT服务业第一品牌39字符和日期字符和日期n 字符和日期要包含在单引号中。n 字符大小写敏感,日期格式敏感。n 默认
15、的日期格式是DD-MON-RR(如6/21/1999)。打造中国金融IT服务业第一品牌40比较运算比较运算打造中国金融IT服务业第一品牌41其它比较运算其它比较运算打造中国金融IT服务业第一品牌42BETWEENBETWEEN打造中国金融IT服务业第一品牌43ININ打造中国金融IT服务业第一品牌44LIKELIKEn 使用LIKE运算选择类似的值n 选择条件可以包含字符或数字:n %代表一个或多个字符。n _代表一个字符。打造中国金融IT服务业第一品牌45LIKELIKEn %和-可以同时使用。打造中国金融IT服务业第一品牌46 NULL NULLn 使用NULL判断空值。打造中国金融IT服
16、务业第一品牌47逻辑运算逻辑运算打造中国金融IT服务业第一品牌48ANDANDn AND要求及的关系为真。打造中国金融IT服务业第一品牌49ORORn OR要求或关系为真。打造中国金融IT服务业第一品牌50NOTNOT打造中国金融IT服务业第一品牌51优先级优先级打造中国金融IT服务业第一品牌52优先级优先级打造中国金融IT服务业第一品牌53优先级优先级打造中国金融IT服务业第一品牌54ORDER BYORDER BY子句子句n 使用ORDER BY子句排序n ASC: 升序n DESC: 降序n ORDER BY子句在SELECT语句的结尾。打造中国金融IT服务业第一品牌55降序排序降序排序
17、打造中国金融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 显示雇员的详细资料,按姓名(first_name)排
18、序.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数字函数数字函数n ROUND: 四舍五入n ROUND(45.926, 2) 45.93n TRUNC:截断n TRUNC(45.926, 2) 45.92n MOD: 求余n MOD(1600, 300) 100打造中国金融IT服务业第一品牌70MODMOD函数函数打造中国金融IT服务业第一品牌71日期日期n Oracle 内部使用数字存储日期: 世纪,年,月,日,小时,分钟,秒。n 默认的日期格式是DD-MON-RR.可以只指定年的后两位在20世纪存放21世纪的日期。
20、n 同样可以在21世纪存放20世纪的日期。打造中国金融IT服务业第一品牌72日期日期n 函数SYSDATE返回:n 日期n 时间n 日期的数学运算:n 在日期上加上或减去一个数字结果仍为日期。n 两个日期相减返回日期之间相差的天数。n 可以用数字除24来向日期中加上或减去小时。打造中国金融IT服务业第一品牌73日期函数日期函数打造中国金融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-FEB-95)
21、19.677419411-JUL-9408-SEP-9528-FEB-95打造中国金融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 打造中国金融IT服务业第一品牌76转换函数转换函数打造中国金融IT服务业第一品牌77隐式数据类型转换隐式数据类型转换nOracle 自动完成下列转换:打造中国金融IT服务业
22、第一品牌78显式数据类型转换显式数据类型转换打造中国金融IT服务业第一品牌79TO_CHARTO_CHAR函数对日期的转换函数对日期的转换n 格式:n 必须包含在单引号中而且大小写敏感。n 可以包含任意的有效的日期格式。n 可以使用fm去掉多余的空格或者前导零。n 及日期指用逗号隔开。打造中国金融IT服务业第一品牌80日期格式的元素日期格式的元素打造中国金融IT服务业第一品牌81日期格式的元素日期格式的元素n 时间格式n HH24:MI:SS AM 15:45:32 PMn 使用双引号向日期中添加字符n DD of MONTH 12 of OCTOBER打造中国金融IT服务业第一品牌82TO_
23、CHARTO_CHAR函数对日期的转换函数对日期的转换打造中国金融IT服务业第一品牌83TO_CHARTO_CHAR函数对数字的转换函数对数字的转换n 下面是在TO_CHAR函数中经常使用的几种格式:打造中国金融IT服务业第一品牌84TO_NUMBERTO_NUMBER和和TO_DATETO_DATE函数函数打造中国金融IT服务业第一品牌85嵌套函数嵌套函数n 单行函数可以嵌套。n 嵌套函数的执行顺序是由内到外。打造中国金融IT服务业第一品牌86NVLNVL函数函数n 将空值转换成一个已知的值:n 可以使用的数据类型有日期、字符、数字。n 函数的一般形式:n NVL(commission_pc
24、t,0)n NVL(hire_date,01-JAN-97)n NVL(job_id,No Job Yet)打造中国金融IT服务业第一品牌87使用使用NVLNVL函数函数打造中国金融IT服务业第一品牌88条件表达式条件表达式n 在SQL语句中使用IF-THEN-ELSE 逻辑。n 使用两种方法:n CASE表达式n DECODE函数打造中国金融IT服务业第一品牌89CASECASE表达式表达式打造中国金融IT服务业第一品牌90DECODEDECODE函数函数打造中国金融IT服务业第一品牌91总结总结n 通过本章学习,您应该学会: n 使用函数对数据进行计算n 使用函数修改数据n 使用函数控制一
25、组数据的输出格式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服务业第一品牌96Oracle Oracle 连接连接n 使用连接在多
26、个表中查询数据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组函数类型及语法组函数类型及语法n AVG n COUNT n MAX n MIN n STD
28、DEVn SUM打造中国金融IT服务业第一品牌106AVGAVG(平均值)和(平均值)和SUMSUM(合计)函数(合计)函数n 可以对数值型数据使用AVG和SUM函数。打造中国金融IT服务业第一品牌107MINMIN(最小值)和(最小值)和MAXMAX(最大值)函数(最大值)函数n 可以对任意数据类型的数据使用MIN和MAX函数。打造中国金融IT服务业第一品牌108COUNTCOUNT(计数)函数(计数)函数n COUNT(*)返回表中记录总数。打造中国金融IT服务业第一品牌109DISTINCTDISTINCT关键字关键字n COUNT(DISTINCT expr)返回expr非空且不重复的
29、记录总数打造中国金融IT服务业第一品牌110组函数及空值组函数及空值n 组函数忽略空值。打造中国金融IT服务业第一品牌111在组函数中使用在组函数中使用NVLNVL函数函数n NVL函数使分组函数无法忽略空值。打造中国金融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过滤分组:n 1.行已经被分组。n 2.使用了组函数。n 3.满足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 操作符操作符打造
33、中国金融IT服务业第一品牌132集合集合n UNION操作符n UNION操作符返回两个查询的结果集的并集打造中国金融IT服务业第一品牌133UNIONUNION操作符举例操作符举例打造中国金融IT服务业第一品牌134UNION ALL UNION ALL 操作符操作符n UNION ALL操作符返回两个查询的结果集的并集以及两个结果集的重复部分(不去重)打造中国金融IT服务业第一品牌135UNION ALL UNION ALL 操作符举例操作符举例打造中国金融IT服务业第一品牌136INTERSECT INTERSECT 操作符操作符n INTERSECT 操作符返回两个结果集的交集打造中国
34、金融IT服务业第一品牌137INTERSECT INTERSECT 操作符举例操作符举例打造中国金融IT服务业第一品牌138MINUS MINUS 操作符操作符n MINUS 操作符返回两个结果集的补集打造中国金融IT服务业第一品牌139MINUS MINUS 操作符举例操作符举例打造中国金融IT服务业第一品牌140总结总结n 通过本章学习,您已经学会: n 在什么时候遇到什么问题应该使用子查询。n 在查询是基于未知的值时应使用子查询。n 使用UNION操作符n 使用UNION ALL 操作符n 使用INTERSECT 操作符n 使用MINUS操作符打造中国金融IT服务业第一品牌141作业作业
35、n 查找所有10部门的经理和 20部门的办事员n 查询工资要大于部门所有人的工资,大于部门的最高工资打造中国金融IT服务业第一品牌142处理数据打造中国金融IT服务业第一品牌143数据控制语言数据控制语言n DML 可以在下列条件下执行:n 向表中插入数据n 修改现存数据n 删除现存数据n 事务是由完成若干项工作的DML语句组成的。打造中国金融IT服务业第一品牌144插入数据插入数据打造中国金融IT服务业第一品牌145插入数据插入数据n 为每一列添加一个新值。n 按列的默认顺序列出各个列的值。n 在INSERT子句中随意列出列名和他们的值。n 字符和日期型数据应包含在单引号中。打造中国金融IT
36、服务业第一品牌146向表中插入空值向表中插入空值n 隐式方式: 在列名表中省略该列的值。n 显示方式:在VALUES 子句中指定空值。打造中国金融IT服务业第一品牌147插入指定的值插入指定的值打造中国金融IT服务业第一品牌148从其它表中拷贝数据从其它表中拷贝数据n 在INSERT 语句中加入子查询n 不必书写VALUES 子句。n 子查询中的值列表应于INSERT子句中的列名对应。打造中国金融IT服务业第一品牌149更新数据更新数据打造中国金融IT服务业第一品牌150更新数据更新数据n 使用UPDATE语句更新数据。n 可以一次更新多条数据。n 使用WHERE子句指定需要更新的数据。n 如
37、果省略WHERE子句,则表中的所有数据都将被更新。打造中国金融IT服务业第一品牌151在在UPDATEUPDATE语句中使用子查询语句中使用子查询n 更新114号员工的工作和工资使其及205号员工相同。打造中国金融IT服务业第一品牌152删除数据删除数据打造中国金融IT服务业第一品牌153删除数据删除数据n 使用DELETE语句从表中删除数据。n 使用WHERE子句指定删除的记录。n 如果省略WHERE子句,则表中的全部数据将被删除。打造中国金融IT服务业第一品牌154在在DELETE DELETE 中使用子查询中使用子查询n 在DELETE 中使用子查询,使删除基于另一个表中的数据。打造中国
38、金融IT服务业第一品牌155数据库事务数据库事务n 数据库事务由以下的部分组成:n 一个或多个DML 语句n 一个DDL 语句n 一个DCL 语句n 以第一个DML语句的执行作为开始n 以下面的其中之一作为结束:n COMMIT 或ROLLBACK语句n DDL 或DCL 语句(自动提交)n 用户会话正常结束打造中国金融IT服务业第一品牌156COMMITCOMMIT和和ROLLBACKROLLBACK语句的优点语句的优点n 使用COMMIT和ROLLBACK语句,我们可以: n 确保数据完整性。n 数据改变被提交之前预览。n 将逻辑上相关的操作分组。打造中国金融IT服务业第一品牌157回滚到
39、保留点回滚到保留点n 使用SAVEPOINT语句在当前事务中创建保存点。n 使用ROLLBACK TOSAVEPOINT语句回滚到创建的保存点打造中国金融IT服务业第一品牌158事务进程事务进程n 自动提交在以下情况中执行:n DDL 语句。n DCL 语句。n 会话异常结束或系统异常会导致自动回滚。打造中国金融IT服务业第一品牌159提交或回滚前的数据状态提交或回滚前的数据状态n 改变前的数据状态是可以恢复的n 执行DML 操作的用户可以通过SELECT语句查询之前的修正n 其他用户不能看到当前用户所做的改变,直到当前用户结束事务。n DML语句所涉及到的行被锁定,其他用户不能操作。打造中国
40、金融IT服务业第一品牌160提交后的数据状态提交后的数据状态n 数据的改变已经被保存到数据库中。n 改变前的数据已经丢失。n 所有用户可以看到结果。n 锁被释放,其他用户可以操作涉及到的数据。n 所有保存点被释放。打造中国金融IT服务业第一品牌161提交数据提交数据n 改变数据n 提交改变打造中国金融IT服务业第一品牌162数据回滚后的状态数据回滚后的状态n 使用ROLLBACK语句可使数据变化失效:n 数据改变被取消。n 修改前的数据状态可以被恢复。n 锁被释放。打造中国金融IT服务业第一品牌163读一致性读一致性n 读一致性为数据提供一个一致的视图。n 一个用户的对数据的改变不会影响其他用
41、户的改变。n 对于相同的数据读一致性保证:n 查询不等待修改。n 修改不等待查询。打造中国金融IT服务业第一品牌164总结总结n 通过本章学习, 您应学会如何使用DML语句改变数据和事务控制打造中国金融IT服务业第一品牌165作业作业n 为表DEPT80插入一行数据n Employee_id:1587n Name :Johnn Email:n Hire_date:sysdaten Job_id:AD_PRESn更新DEPT80表,将lindsey的工资和岗位修改为及Ellen完全相同n删除雇员lindsey打造中国金融IT服务业第一品牌166目录目录 ORACLE数据库简介 ORACLE SQ
42、L ORACLE数据库对象打造中国金融IT服务业第一品牌167常见的数据库对象常见的数据库对象打造中国金融IT服务业第一品牌168表打造中国金融IT服务业第一品牌169创建表创建表打造中国金融IT服务业第一品牌170命名规则命名规则n 表名和列名:n 必须以字母开头n 必须在130 个字符之间n 必须只能包含AZ, az, 09, _, $, 和#n 必须不能和用户定义的其他对象重名n 必须不能是Oracle 的保留字打造中国金融IT服务业第一品牌171Oracle Oracle 数据库中的表数据库中的表n 用户定义的表:n 用户自己创建并维护的一组表n 包含了用户所需的信息n 数据字典:n
43、由Oracle Server自动创建的一组表n 包含数据库信息打造中国金融IT服务业第一品牌172查询数据字典查询数据字典打造中国金融IT服务业第一品牌173数据类型数据类型打造中国金融IT服务业第一品牌174使用子查询创建表使用子查询创建表打造中国金融IT服务业第一品牌175ALTER TABLEALTER TABLE语句语句n 使用ALTERTABLE语句可以:n 追加新的列n 修改现有的列n 为新追加的列定义默认值n 删除一个列打造中国金融IT服务业第一品牌176追加一个新列追加一个新列打造中国金融IT服务业第一品牌177修改一个列修改一个列打造中国金融IT服务业第一品牌178删除一个列
44、删除一个列打造中国金融IT服务业第一品牌179删除表删除表n 数据和结构都被删除n 所有正在运行的相关事物被提交n 所有相关索引被删除n DROP TABLE语句不能回滚打造中国金融IT服务业第一品牌180改变对象的名称改变对象的名称n 执行RENAME语句改变表, 视图, 序列, 或同义词的名称n 必须是对象的拥有者打造中国金融IT服务业第一品牌181清空表清空表n TRUNCATE TABLE语句:n 删除表中所有的数据n 释放表的存储空间n TRUNCATE语句不能回滚n 可以使用DELETE语句删除数据打造中国金融IT服务业第一品牌182约束约束n 约束是表级的强制规定n 约束放置在表
45、中删除有关联关系的数据n 有以下五种约束:n NOT NULLn UNIQUE n PRIMARY KEYn FOREIGN KEYn CHECK打造中国金融IT服务业第一品牌183NOT NULLNOT NULL约束约束打造中国金融IT服务业第一品牌184UNIQUEUNIQUE约束约束打造中国金融IT服务业第一品牌185UNIQUEUNIQUE约束约束打造中国金融IT服务业第一品牌186PRIMARY KEYPRIMARY KEY约束约束打造中国金融IT服务业第一品牌187PRIMARY KEYPRIMARY KEY约束约束打造中国金融IT服务业第一品牌188FOREIGN KEYFORE
46、IGN KEY约束约束打造中国金融IT服务业第一品牌189FOREIGN KEYFOREIGN KEY约束约束打造中国金融IT服务业第一品牌190CHECKCHECK约束约束n 定义每一行必须满足的条件n 以下的表达式是不允许的:n 出现CURRVAL, NEXTVAL, LEVEL, 和ROWNUM伪列n 使用SYSDATE, UID, USER, 和USERENV函数n 在查询中涉及到其它列的值打造中国金融IT服务业第一品牌191添加及删除约束添加及删除约束打造中国金融IT服务业第一品牌192总结总结n 通过本章学习应该掌握n 如何建立一个表n 如何给表的列上增加主键,外键等约束n 修改和
47、删除表打造中国金融IT服务业第一品牌193作业作业n 建立author表n 列名:id number(3)n Name:varchar2(10)n Sal:number(6,2)n维护author表n 为author表增加一列address varchar2(100)n 修改author表sal列为number(20,2)n 删除author表n在dept表的name列增加唯一约束un_dept_namen在dept表的eno列上增加主键约束pk_emp01打造中国金融IT服务业第一品牌194视图打造中国金融IT服务业第一品牌195视图视图打造中国金融IT服务业第一品牌196为什么使用视图为什
48、么使用视图n 控制数据访问n 简化查询n 数据独立性n 避免重复访问相同的数据打造中国金融IT服务业第一品牌197简单视图和复杂视图简单视图和复杂视图打造中国金融IT服务业第一品牌198创建视图创建视图打造中国金融IT服务业第一品牌199查询视图查询视图打造中国金融IT服务业第一品牌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 主要用于提供主键值n 代替应用代码n 将序列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年物业管理合同服务内容扩展
- 2024年物资采购与销售合同捆绑包
- 2024年科技园区门卫服务协议
- 2025年度电子商务平台场规则与格式规范合同3篇
- 2025版宠物领养与救助机构合作协议范本大全3篇
- 2025年环保型交通工具销售及售后服务协议3篇
- 2024年飞行员培养合同:飞行员委托培养协议2篇
- 《何谓自我概念》课件
- 生鲜猪肉知识培训课件
- 2024年特种压力容器定制安装协议版B版
- 英语-山东省淄博市2024-2025学年第一学期高三期末摸底质量检测试题和答案
- 亿欧智库-2024中国智能驾驶城区NOA功能测评报告
- 甘肃2024年甘肃培黎职业学院引进高层次人才历年参考题库(频考版)含答案解析
- 水利水电工程安全管理制度例文(三篇)
- 2025年超星尔雅学习通《劳动通论》章节测试题库及参考答案(培优)
- 2024预防流感课件完整版
- 新疆乌鲁木齐市(2024年-2025年小学六年级语文)统编版质量测试(上学期)试卷及答案
- 人教版2024-2025学年第一学期八年级物理期末综合复习练习卷(含答案)
- 静脉治疗专科护士竞聘
- 特殊教育多媒体教室方案
- 2024年第一季度医疗安全(不良)事件分析报告
评论
0/150
提交评论