OCP课程1:准备
1、环境准备: 学习Oracle一定要有自己的环境,包括硬件和软件,下面说一下我的环境,大家可以参考。 硬件环境: 机器型号:Dell Latitude E5440 CPU:Intel Core i5-4210U @ 1.70GHz 双核 内存:12G(原装4G+自己配的8G) 硬盘:500G 同时在主板选项中开启虚拟化支持。 软件环境: 操作系统:Windows 7 64位...
OCP课程2:SQL之介绍
Oracle 11G的OCP课程中讲SQL的课程是051,但是我们上的课程是047,主要是因为047考试通过后会有一个单独的SQL EXPERT的证书,047这门课程是Oracle在10G推出的,在内容上,这两门课程差不多,047多一个证书,所以选择了047。 第0章主要是介绍Oracle的一些功能和关系数据库的原理,这些都比较简单,就不详细说明了,重点说一...
OCP课程3:SQL之使用SELECT语句检索数据
select语句有三个功能:投影、选择和多表联合,投影指选择表的某些列,选择指选择表的某些行,多表联合指从多张表获取数据。这一章主要讲投影的功能。 1、基本SELECT语句语法 包含select子句和from子句: select子句列出要选择的列,其中*表示选择表中的所有列,distinct关键字表示去掉重复的列,多列之间...
OCP课程4:SQL之限制和排序数据
这章主要讲了3个功能: 使用where语句限制数据 使用order by语句排序数据 使用替换变量 1、使用where子句限制行 语法: where子句必须在from子句之后。 例子:只查询部门编号为90的人员信息 SQL> select employee_id,last_name,job_id,department_id from employees where department_id=90; EMPLOY...
OCP课程5:SQL之使用单行函数
根据函数每次处理的对象是一行还是多行,分为单行函数和多行函数,如果每次处理一行,是单行函数,如果每次处理是多行,就是多行函数,本章主要讲单行函数,包括字符函数,数字函数及日期函数等。 1、字符函数 字符函数分两类: 大小写转换的函数 对字符操作的函数 (1)大小写转换的函数 例...
OCP课程6:SQL之使用组函数
这章主要讲Oracle有哪些组函数,以及分组函数的使用。 组函数对一组数据进行操作,然后产生一个结果。 1、常用组函数 组函数的语法: 例子:查询job_id包含REP的员工的平均薪水,最大薪水,最小薪水及总和 SQL> select avg(salary),max(salary),min(salary),sum(salary) from employees where job_i...
OCP课程7:SQL之多表查询
这章主要讲通过使用左连接,右连接,内连接,外连接及自然连接等方式进行多表查询。例如要查询人员的编号、姓名、部门编号及部门名字,只是通过人员表,是查不到部门名字的,只能查到部门编号,这就需要通过人员表的部门编号(外键)和部门表的部门编号(主键)进行关联查询。 表连接方式: 交叉连接(笛卡尔积)cross joi...
OCP课程8:SQL之使用子查询
1、子查询语法 主查询执行前,子查询先执行,而且只执行一次 主查询使用子查询的结果 例子:查询薪水比Abel高的人员的名字和薪水 SQL> select last_name,salary 2 from employees 3 where salary>(select salary from employees where last_name='Abel'); LAST_NAME &...
OCP课程9:SQL之使用集合操作符
1、集合操作符概述 除了union all,重复行会被自动删除 除了union all,自动以第一列升序排序 集合操作结果的列名来自于第一个查询 2、union操作符 把两个查询的结果加起来并去掉重复的记录 例子:查询员工在公司担任过的所有职位 SQL> select employee_id,job_id from employees 2 union ...
OCP课程10:SQL之操纵数据
DML语句用于以下情况: 为表增加新行 修改表的记录 删除表的记录 事务是一系列DML操作的集合,用于保证事务的完整性 1、为表增加新行 语法: insert into values语句一次只能插入一行 可以在表后面列出需要插入的字段,也可以不列出,使用表定义的字段顺序来插入 插入的值如果是字符和日期,需要使用单引...
OCP课程11:SQL之使用DDL语句创建和管理表
数据库对象: 表名和列名命名规则: 字母开头 不超过30个字符 只能包含大小写字母,0-9,_,$,# 同一用户下对象名称不能重复 不能使用保留字 1、创建表 必须要有创建表的权限及存储区域 需要指定表名,列名,列数据类型及长度 访问其他用户的表需要加上用户名前缀。 创建表的时候可以为字段指定默认值...
OCP课程12:SQL之创建其他模式对象
课程目标: 创建简单和复杂视图 从视图获取数据 创建、维护及使用序列 创建和维护索引 创建私有和公有同义词 数据库对象: 1、视图 视图的优势: 屏蔽对敏感信息的访问 简化复杂的查询 根据不同的用户需求创建不同的视图 数据的独立性,通过视图实现接口的功能 简单视图和复杂视图 简单视...
OCP课程13:SQL之使用数据字典视图管理对象
数据字典包含基表和用户可以访问的视图。 数据字典视图的命名规则及分类: 使用数据字典视图从dictionary视图开始,这个视图里面包含了所有的数据字典表和视图的名字和描述。通过他来查询其他的数据字典视图,是查询数据字典的入口。 SQL> conn / as sysdba SQL> desc dictionary Name &nbs...
OCP课程14:SQL之控制用户访问
课程目标: 区分系统权限和对象权限 赋予表权限 通过数据字典查询权限 赋予角色 区分权限和角色 权限分类: 系统权限,是指对数据库进行访问的权限,比如创建连接,表,数据库,表空间等 对象权限,是指对数据库对象内容进行操作的权限,比如增加记录,删除记录等 模式是用户下面对象的集合 1、系统...
OCP课程15:SQL之管理模式对象
1、使用alter table语句 使用alter table语句可以: 增加列 修改列 删除列 停用列 重命名列 增加约束 (1)增加列 不能为新增加的列指定位置,只能位于最后 如果其他列有数据,强制增加非空列必须指定默认值 如果其他列没有数据(空表),可以增加不指定默认值的非空列 语法: 例子:为表dept80...
OCP课程16:SQL之处理大数据
课程目标: 使用子查询处理数据 使用多表插入 使用merge 使用闪回版本查询跟踪数据在过去一段时间的变化情况 1、使用子查询 使用子查询插入数据 使用子查询查询数据 使用子查询更新数据 使用子查询删除数据 例子:使用子查询从其他表复制行进行插入,不需要使用values关键字,字段要匹配 SQL> inser...
OCP课程17:SQL之通过分组相关数据产生报告
课程目标: ROLLUP CUBE GROUPING GROUPING SETS 1 、复习组函数、group by子句及having子句 group functions 可以位于select lists,order by and having clause grouping column隐式升序排序 语法: 例子:使用组函数取平均薪水,薪水标准差,提成总计,最大入职日期 SQL> select avg(salary),stddev(sa...
OCP课程18:SQL之管理不同时区下的数据
课程目标: TZ_OFFSET FROM_TZ TO_TIMESTAMP TO_TIMESTAMP_TZ TO_YMINTERVAL TO_DSINTERVAL CURRENT_DATE CURRENT_TIMESTAMP LOCALTIMESTAMP DBTIMEZONE SESSIONTIMEZONE EXTRACT 1、时区 时区是地理上的概念,把全球分成24个时区,每一个小时一个时区,定义了某一时刻不同地点的时间。 查看操作系统的时区 ...
OCP课程19:SQL之使用子查询检索数据
课程目标: 多列子查询 标量子查询 关联子查询 exists运算符 with语句 1 、多列子查询 语法: 有2种多列比较: 非成对比较 成对比较,没有交叉 例子:成对比较子查询,查找与姓为John的人员在同一部门且属于同一上司的员工信息 SQL> select employee_id,manager_id,department_id from employees where fi...
OCP课程20:SQL之分层查询
课程目标: 分层查询概念 创建树形结构报表 格式化分层数据 修剪分支 1、分层查询概念 人员表里面有主键employee_id和外键manager_id,这种单个表中的行之间的层次关系可以构成一个树(tree),因而在行之间就存在父-子关系。通过树结构中的父-子关系,可以控制层次关系的开始点和方向(自顶向下/自底向上)...