复习Oracle中的一点知识

Oracle 10g

Oracle是为网格计算而设计的 10g中的g就是指grid computing

Oracle将数据存储在文件中,保存不同信息的文件(数据文件,控制文件,日志文件)就组成了数据库的物理结构

逻辑结构:schema, extent, data block, segment

Schema 数据库对象的集合,创建用户时会生成一个与用户同名的Schema,Schema 直接处理data的逻辑结构(table, view, index, clusters)

View -- 虚拟的,可以看做是一个存储的查询,不包含数据知识从基表中读取数据

Index -- 提供对表数据的访问路径,提高读取数据的效率

Cluster -- 将共享公共列的表在物理上存储在一起 行成cluster

Transaction:

Atomic:所有的语句要么全部执行,要么全部取消

Consistency:不能破坏DB完整性,所有数据应遵循DB中的各种约束和规则

Isolation:同时运行时,不同的transaction之间互不干扰

Durability:执行成功后,所有操作的结果都会永久保持

一些高级查询:

Distinct:消除重复行

NULL -- 条件 IS NULL, 非NULL -- NOT IS NULL

IN -- 在where子句中查询其列值在指定的列表中的行。NOT IN

BETWEEN ... AND ... -- 在where子句中查询列值包含在指定区间内的行

LIKE -- 模糊查询 ‘%‘, ‘_‘   %表示0个或多个任意字符,_表示一个任意字符

集合运算:将多个结果集组合成一个结果集

INTERSECT(交集) -- 返回两个查询共有的结果

UNION ALL -- 返回查询的所有记录 包含重复记录

UNION -- 返回查询的所有记录 不包含重复记录

MINUS -- 补集 返回第一个查询记录减去第二个查询记录之后的剩余的记录

连接查询:inner join, outer join (left outer join, right outer join)

(+) 是oracle专用的连接符,在条件中出现在左边表示right outer join,出现在邮编表示left outer join

SubQuery

对于subquery 主要注意ANY ALL IN的一些用法 在面试的时候遇到了 我就是没想起来。。。其实很简单的

伪列:ROWID, ROWNUM

ROWNUM可以用来实现数据库分页

函数:

单行函数:字符函数,数字函数,转换函数,日期函数,NVL(x, value), NVL2(x, value1, value2)

聚合函数:SUM, AVG, COUNT, MIN, MAX

其实Oracle还有很多很多知识点 还有partition pagination什么的 这次先整理一些很基础的东西 慢慢的再增加

特别感谢http://wenku.baidu.com/link?url=OFjIZA_tCmadBvuDg9l8kQ4BqUoCHRBE7CqZvARS9tSc6zrjVx5K2WwY8V5bICbRUO9qS4L4Gwz-PwEk9bnPnNrZA0Vd0qYq6K0CoIJsbUS

在复习的时候我看了这个 感觉还是有帮助的

复习Oracle中的一点知识,布布扣,bubuko.com

时间: 2024-10-24 19:03:58

复习Oracle中的一点知识的相关文章

oracle中分页的知识

一:前言 自从出来实习后,基本上都没有按下心来总结下自己学的知识点,刚刚好现在快要国庆了,没有到深圳出差,在公司呆了三天,可以说是在公司打了三天的酱油啊,所以前两天都是在看些正则的文档,并且写了下总结(等到要写的时候才觉得好像也没什么要写的啊),所以还是一点一点的写吧,因为五月份的实习知识点自己也做了总结,但是一直都没有具体分开加载到博客园,我自己还是觉得好记性不如烂笔头啊. 二:oracle的rownum (1)在我刚刚出来时候觉得分页很难搞,现在也学了这么久,但是我自己觉得还是有点难度,可能

makefile中的一点知识

makefile文件中下面这一部分展开是什么样的呢? ... mytarget=foo  $(mytarget): $(mytarget).c        gcc -o $(mytarget) $(mytarget).c mytarget=bar ... 展开是: ... mytarget=foo foo: foo.c        gcc -o bar bar.c mytarget=bar ...

Oracle中DML基础知识

DML(insert,update,delete) 1.插入数据insert into 表名(列,列...)values(值,值...)//当插入的数据与表格一一对应时,列可以省略insert into 表名 values(值,值...) 例如:--给tbl_user表中添加一条记录insert into tbl_user values (22,'刘强东','123456'); 2.更新数据update 表名 set 列=新值 where 条件: 例如:--修改tbl_user表中第二行记录的用

having在Oracle和mysql中的一点不同点

在Oracle中,having一定要结合group by使用,但在mysql中,情况就不一样了,可以单独使用. C:\Documents and Settings\guogang>sqlplus test/test SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 12 09:09:58 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved. 连接到: Oracle Datab

Oracle中DDL的基础知识

1.SQL分为5大类: DDL:数据定义语言 DCL:数据控制语言 DML:数据操纵语言 DTL:数据事务语言 DQL:数据查询语言 2.DDL(data definition language):create,drop,alter,rename to 创建表格分为两个步骤: a.定义列和数据类型 b.添加约束 数据类型: 1.数字类型,可以做所有的数学运算 number number(4)代表整数,最大能存9999 number(7,2)代表double类型,整数长度为5,小数位2 2.字符型

转-oracle中比较两表表结构差异和数据差异的方法

oracle中比较两表表结构差异和数据差异的方法 原作者:li2008xue2008ling 出处:http://blog.csdn.net 在工作中需要完成这么一个需求:比较两个表的表结构是否形相同,并找出差异.比较两个表中的数据是否相同,并找出差异数据? 分析:由于表结构中字段比较多,手工比较很浪费时间,而且不能保证不出错误.对于表中的数据那就能多了,更不能靠这种方式比较. 为了思考问题简单和方便测试,首先先建立两个测试表,并插入一些测试数据吧,sql如下: create table t_A

oracle中如何判断一个字符串是否含有汉字

oracle中如何判断一个字符串是否含有汉字 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ①全角字符的判断,或者是含有汉字的字符串的判断 本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 一.2.2 实验环境介绍 11.2.0.3  RHEL6.5 一.2.3 本文简介 看到网友问,怎么查询表中某个字段数据是不是包含了

oracle中事务处理

事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败. 事务和锁 当执行事务操作时(dml语句),oracle会在被作用的表上加锁,防止其它用户改表的结构,这里对我们用户来讲是非常重要的. 提交事务 当执行commit语句可以提交事务,当执行了commit语句后,会确认事务的变化.结束事务.删除保存点.释放锁,当使用commit语句结束事务后,其它会话将可以查看到事务变化后的新数据. 回退事务 在介绍回退事务前,我们先介绍一下保存点(savepoin

浅谈oracle中rowid和rownum

[ 概要 ] 刚刚接触oracle的同学可能常常会被rowid和rownum这两个词弄混, 弄清楚这两个家伙对于我们写sql会有很大的帮助, 下面偶就抛砖引玉, 简单地谈谈他们之间的区别吧. [ 比较 ] rowid和rownum都是oracle中的伪列, 但他们还是存在本质区别: rowid: 是物理地址, 用于定位数据表中数据的位置, 它是唯一的且不会改变. rownum: 是根据查询的结果集给每行分配的一个逻辑编号, 查询结果不同, rownum自然不同. 对于同一条记录, 查询条件不同,