oracle数据库基础知识总结(oracle数据库基础与应用教程)
自学oracle数据库的方法。
第一步:学习oracle安装。\x0d\x0a第二步:学习oracle基础语法知识。\x0d\x0a第三步:实际操作基础语法指令。\x0d\x0a第四步:学习存储过程、function、sequence(序列)等高级知识。\x0d\x0a第五步:学习oracle高级优化。\x0d\x0a参考书籍:《oracle从入门到精通》\x0d\x0a备注:oracle也算是一门语言,即使半个月或者是半年也无法学习透彻的,建议根据上面的思路逐层深入学习即可。
oracle 学习 需要哪些方面的基础?
计算机基础操作知识。
会安装软件,操作系统知道一些,会对计算机进行了一些简单的管理。
数据库系统的基础知识。
然后从ORACLER 的基础开始学,就没有问题。
Oracle数据库基础考前复习重点考点归纳..有人有吗
SQL语句分类:
1, select查询语句
2, DML(数据操作语言):insert update delete merge
3, DDL (数据定义语言):alter drop truncate create
4, DCL (数据控制语言):revoke grant
5, 事务控制语句:rollback savepoint commit
空值(null)
1, null:表示未定义的,未知的,空值不等于零或空格;
2, 空值: 在算数表达式中的应用,
? 包括空值的任何算术表达式都等于空
? 包括空值的连接表达式等于空字符串连接,也就是原来的字符串
使用列别名的方法:
第一种:列名 类别名
第二种:列名 as 列别名
以下三种情况在列别名两侧需要加双引号(“”)
1:列别名中包含空格
2:列别名中要求区分大小写
3:列别名中包含有特殊字符
采用双竖线“||“做链接运算符
Select distict department_id,
From employees;
区别于
Select distict department_id,job_id
From employees;
Distinct会遍历并取属性值唯一的最多的一中属性;
使用比较运算符:
字符与日期类型加单引号;
字符类型大小写敏感
日期类型格式敏感默认:dd-mm-rr 例子:01-1月-1999非01-01月-1999非01-01-1999
使用like运算符
%可以替代任意长度的字符包含零个长度
—可以代替一个字符
使用escape查找特殊符号字符。Eg:
Select employee_id,last_name,job_id,salary
From employees
Where job_id like ‘fl\_%’ESCAPE’\’;
空值排序,升序排列中排在最后,降序排列排在最开始
Nullif
比较两个值,若相等,返回空值,不等返回第一个数。
Nvl2(1,2,3)
若第一个值为空返回第三个值
不等返回第二个值
Coalesce
返回第一个不为空的参数。
1.
SELECT months_between(SYSDATE,'01-1月-00') FROM dual;
SELECT trunc(months_between(SYSDATE,'01-1月-00')) FROM dual;
SELECT round(months_between(SYSDATE,'01-1月-00')) FROM dual
SELECT round((SYSDATE-to_date('01-1月-00'))/7) FROM dual
2.
SELECT last_name
FROM employees
WHERE substr(last_name,3,1)='a'
SELECT last_name
FROM employees
WHERE instr(last_name,'a')=3
3.
SELECT TRIM('h' FROM 'hello')
FROM dual
SELECT TRIM(' Hello')
FROM dual
SELECT TRIM('b'FROM'bllb')
FROM dual
SELECT TRIM('hello ')
FROM dual
4.
SELECT salary,to_char(salary,'999,999.99')||'RMB'
FROM employees;
5.
SELECT last_name,nvl(to_char(manager_id),'No Manager')
FROM employees;
6.
SELECT to_char(hire_date,'mm/yyyy')
FROM employees
7.
SELECT last_name,salary,
(CASE
WHEN salary1000 THEN 0
WHEN salary=1000 AND salary2000 THEN salary*0.1
WHEN salary=2000 AND salary3000 THEN salary*0.15
ELSE salary*0.2
END)Tax
FROM employees
SELECT last_name,salary,
decode( trunc(salary/1000),
0,0,
1,salary*0.1,
2,salary*0.15,
salary*0.2)Tax
FROM employees
ORDER BY Tax
Oracle数据库有哪些知识点,请讲全面,不用详细介绍每个知识点。
Oracle的体系
Oracle的体系很庞大,要学习它,首先要了解Oracle的框架。在这里,简要的讲一下Oracle的架构,让初学者对Oracle有一个整体的认识。
1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)
控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件.
数据文件:存储数据的文件.
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件.
参数文件:定义Oracle例程的特性,例如它包含调整SGA中一些内存结构大小的参数.
归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
密码文件:认证哪些用户有权限启动和关闭Oracle例程.
2、逻辑结构(表空间、段、区、块)
表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。
段:是对象在数据库中占用的空间.
区:是为数据一次性预留的一个较大的存储空间.
块:ORACLE最基本的存储单位,在建立数据库的时候指定.
3、内存分配(SGA和PGA)
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收.
4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件
日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件
系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复
进程监控:负责在一个Oracle 进程失败时清理资源
检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。
归档进程:在每次日志切换时把已满的日志组进行备份或归档
服务进程:用户进程服务。
用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询数据。
5、Oracle例程:Oracle例程由SGA内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。
6、SCN(System ChangeNumber):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。
oracle怎么学习
Oracle是目前最流行的数据库之一。功能强大,性能卓越。
oracle完全可以代表数据库技术的最高水平,因此学习oracle需要你具备一定基础:
1.学习过一门编程语言(java,c,c++均可)。
2.最好学习过一门别的数据库(sql server,mysql,access)。
严禁没有任何基础的同志学习oracle,那样你会浪费时间,同时还打击学习oracle的信心,我个人认为学习流程为:
第一阶段:计算机基础(了解它的基本原理)。
第二阶段:学习一门编程语言(java或者c,c++)。
第三阶段:学习oracle数据库或是别的数据库。
成为一个oracle高手的秘诀就是:
理解小的知识点-做小练习-把小的知识点连成线(知识线)-做oracle项目-把知识线形成知识面-深刻理解
基础部分:
Oracle基本使用
Oracle用户管理
Oracle表管理
高级部分:
Oracle表的查询
Oracle的函数
Oracle数据库管理
Oracle的权限、角色
Pl/sql编程
索引,约束和事务