一周oracle 学习的总结

一,oracle数据库简介
(1)数据库的类型:网状型数据库,层次型数据库,关系型数据库
(2)oracle数据库的特点:支持大数据库,多用户的高性能的事务处理
Oracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准(SQL)
实施安全性控制和完整性控制
支持分布式数据库和分布处理
具有可移植性、可兼容性和可连接性
全球化、跨平台的数据库

二,sql语句
(1)建表 CREATE TABLE TEST(字段);
(2)常用的字段 : CHAR(N) VARCHAR2(N) VARCHAR() NUMBER(M,P) DATE
(3)查询:SELECT * FROM 表名 ; (查询数据)DESC TEST ; (表结构)
(4)sql语句的分类:
DML语句(Insert,Updect,Delete,Merge)
DDL语句(Create,Alter,Drop,Truncate)
DCL语句(Grant,Revoke)
事务控制语句(Commit,Rollback,Savepoint)
(5)运算符的优先级:乘除优先于加减,同级运算时从左到右,表达式中使用括号可以强行改变优先级的运算顺序
(6)文本字符串:文本字符串是一个包括在SELECT查询列表中的字符,表达式,或数字  .日期和字符型文本字符串必须用单引号扩起来 .每返回一条记录文本字符串被显示一次
(7)运算符的优先级规则:所有的比较运算符<NOT<AND<OR

三,sql中的函数
(1)根据函数对多行输入数据的处理方式,函数分为单行函数和多行函数。
单行函数:每行作为一个输入参数,经过函数的计算得到每行的计算结果单行函数执行的操作影响表中每一行的显示效果
多行函数多多行输入值进行计算,得到多行对应的一个结果
(2)单行函数:字符函数,数字函数,日期函数,转换函数,其它函数
(3)字符函数:lower(大写转换小写)upper(小写转换成大写)initcap(首字母大写)
字符处理函数:CONCAT('Good', 'String')(查询的两个结果合并为一个)
SUBSTR('String',1,3)(查询前几位字符)
LENGTH('String')(长度)
INSTR('String', 'r')(排在第几位)
LPAD(sal,10,'*')(左面补齐)
数学函数:round(12.123,n)四舍五入到小数点n位
trunc(12.123,n)将值截断到指定的小数位
mod(13,3)返回相除之后的余
(4)日期:日期格式(DD-MM-YYYY) 日期只支持想减
日期函数:months_between 两日期相差多少天
add_months 在一个日期上加或减若干月得到新日期
next_day 取得从当前日期开始遇到的第一指定星期几的日期
last_day 计算指定日期所在月份的最后一天的日期
round 取得按年或月四舍五入得到的新日期
trunc 取得按年或月截取得到的新日期
(5)数据类型的转换:日期类型转换为字符类型to_char
数值类型转换为字符类型to_char
字符类型转换为数值类型to_number
字符类型转换为日期类型to_date
(6)其它函数:NCL(字段名,0)将字段中的null用0来替换
NVL2*(字段名,值1,值2)如果字段不为null则返回值1,如果为null则返回值2
Nullif(表达式1,表达式2) 比较两个表达式相同返回空值,不想等返回表达式1
(7)常用的分组函数 AVG(求平均值)COUNT(求符合条件数据的条数)MAX(最大值)MIN(最小值)SUM(和)
(8)sql语句执行先后 select >  from > where> group by> having > order by
四,多表连接和子查询
(1)连接类型: 等值连接(Equijoin) 非等值连接(Non-equijoin) 外连接(Outer join) 自连接(Seif join) 交叉连接(Cross joins) 自然连接(Natural joins) 使用Using字句的连接(Join using/on()) 完全外连接或左右外连接(Full/Left/Right outer join) 外连接中可以使用任意的连接条件
(2)子查询:子查询要用括号括起来
将子查询放在比较运算符的右边(增强可读性)
只有在执行Top-N分析时,子查询中才需要使用Order by子句
对单行子查询使用单行运算符(<,>,<=,>=,=)
对多行子查询使用多行运算符(in,any>,any<,all>,all<)
五数据造作语句和事务控制
(1)使用DML语句 插入新数据 INSERT 修改已有数据 UPDATE 删除不需要的数据 DELETE
(2)事物开始于第一个DML语句 结束于 commit 或 rollback
commit 提交执行数据修改并保存 rollback 所有修改放弃,并且回滚到事物开始之前的状态
(3)使用commit和rollback控制事物的优点:保证数据一致性,修改过的数据在没有提交之前其他用户不能看到.数据永久性生效钱重新查看修改的数据.将相关的操作组织在一起.一个事物中的相关数据改变或者全部成功,或者全部失败
(4)事务处理的ACID特性Atomic:原子性,Consistent:一致性, Isolated:隔离性,Durable:永久性
原子性:就是事务应作为一个工作单元,事务处理完成,所有的工作要么都在数据库中保存下来,要么完全回滚,全部不保留 ;
一致性:事务完成或者撤销后,都应该处于一致的状态 ;
隔离性:多个事务同时进行,它们之间应该互不干扰.应该防止一个事务处理其他事务也要修改的数据时,不合理的存取和不完整的读取数据
永久性:事务提交以后,所做的工作就被永久的保存下来
六,数据库的主要对象
(1)命名规则:必须以字母开头,可包括数字(0-9),字母(a~z)和三个特殊字符(# _ $),不要使用oracle的保留字
(2)ALTER TABLE语句:增加/修改/删除 表名  add/modify/drop  (字段名)
(3)约束是在表上强制执行的数据校验规则,被插入,修改或删除的数据必须符合相关字段上设置的这些检验条件,也就是约束条件
(4)约束的种类: 非空(NOT NULL) 唯一(UNIQUE KEY) 主键(PRIMARY KEY)  外键(FOREIGN KEY) 检查(CHECK)
(5)非空约束:确保字段值不允许为空 作用在单一字段上
唯一约束:确保所在的字段或者字段组合不出现重复值,但允许出现空值.
主键约束:非空且唯一
外键约束:构建于一个表的两个字段或者两个表的两个字段之间的关系
检查约束:所填入的数据是否符合设置的check条件
(6)索引:索引是独立的数据库对象,并不与表存储在一起,而是与表独立存放.索引记录了表的索引字段的值,也就是关键字,关键字始终与表的索引字段值相同,这种同步由Oracle数据库自动维护
创建索引:CREATE INDEX 索引名 ON 表名(字段名)
删除索引:DROP INDEX 索引名
(7)试图
创建/修改视图: CREATE OR REPLACE VIEW 索引名 AS sql语句;
WITH READ ONLY ; 禁止对试图执行DML操作
DROP VIEW 视图名 ;删除试图
八,PL/SQL
(1)PL/SQL中起作用的部分都是由基本块组成的.基本块有四个
组成部分:声明部分:DECLARE – 可选部分 变量、常量、游标、用户定义异常声明
执行体开始部分:BEGIN – 必要部分 SQL语句PL/SQL语句
异常处理部分:EXCEPTION – 可选部分 程序出现异常时,捕捉异常并处理异常
执行体结束:END; – 必要部分
(2)简单变量:基本类型包括三大类:字符,数字,日期
(3)PL/SQL中的函数:数字函数 字符函数 类型转换函数 日期函数
转换函数: TO_CHAR TO_DATE TO_NUMBER
九,COMMIT 和ROLLBACK 命令
(1)通过EXECUTE IMMEDIATE可以在PL/SQL中直接执行DDL和DCL语句
(2)PL/SQL程序块中的流程控制主要通过条件控制结构(IF语句)或循环控制语句来完成
(3)游标是一段私有的SQL 工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据
有两种类型的游标:隐式游标 显式游标
(4)游标属性包括四种,
%ROWCOUNT 受SQL影响的行数
%FOUND Boolean 值,是否还有数据
%NOTFOUND Boolean 值,是否已无数据
%ISOPE 游标是否打开

posted @ 2010-11-26 09:58  初学软件  阅读(746)  评论(0编辑  收藏  举报