Oracle快速入门基础介绍材料.doc
《Oracle快速入门基础介绍材料.doc》由会员分享,可在线阅读,更多相关《Oracle快速入门基础介绍材料.doc(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、.-第一章 Oracle入门1.1 安装1.2 系统服务图 1-1 Oracle数据库系统服务1.3 数据库和实例1.3.1 数据库数据库是磁盘上存储的数据集合。每个数据库都有自己的名字,数据库名是用于区分数据库的一个内部标识,是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。它被写入数据库参数文件pfile或Spfile中。1.3.2 数据库实例实例是一组后台进程和共享内存。数据库实例是操作数据库的实体,用户通过实例与数据库交互。每个数据库实例都有自己的名字,实例名用来标识这个数据库实例。数据库创建后,实例名可以被修改。它也被写入数据库参数文件pfile或Spfi
2、le中。1.3.3 两者关系数据库是磁盘上存储的数据集合。数据库可以由一个或多个实例(使用RAC)装载和打开。实例是一组后台进程和共享内存。实例“一生”只能装载并打开一个数据库。数据库名与实例名可以相同。一个数据库对应一个实例的情况下设置成相同的便于标识数据库。但是在8i,9i的并行服务器中,数据库与实例不存在一一对应关系,而是一对多关系,一个数据库对应多个实例。不过一个用户只能与一个实例相连。1.3.4 数据库物理结构图 1-2 Oracle数据库的物理结构 参数文件数据库参数文件并不是数据库文件系统中的有效组成部分,因为在启动数据库的时候,参数文件并不直接参与工作。但是数据库参数文件中,记
3、录着数据库控制文件的物理地址,所以要靠它来寻找控制文件。图 1-3 数据库参数文件 文件系统图1-4 Oracle数据库的文件系统*.CTL表示控制文件*.DBF表示数据文件*.LOG表示日志文件控制文件用来管理和控制数据文件和日志文件。在启动数据库的时候,启动实例之后,就启动对应的控制文件,接着由控制文件打开数据文件。database amount就是打开控制文件,database open是打开数据文件。在Oracle中,有两种类型的日志文件:图1-4中的REDO*.LOG称为联机日志文件,也成为重做日志文件。如果REDO01.LOG写满则写REDO02.LOG,REDO02.LOG写满了
4、写REDO03.LOG,而REDO03.LOG写满了又会重新写入REDO01.LOG,这是联机日志文件中的非归档方式。还有一种称为归档日志文件,是在备份尤其是热备份的时候,一定要选择的一种归档方式。1.4 内存结构当一个Oracle实例启动之后,它分配了一个称为SGA(系统全局区)的内存块图1-5 Oracle数据库内存结构1.4.1 缓冲区DB buffer(数据库高速缓冲区)如果每次执行sql语句,都要对磁盘数据进行读写,则效率会非常慢。内存中被用来频繁读取数据的部分就称为数据库高速缓冲区。DB buffer是SGA中最大的部分。它又分为以下三个部分:保持缓存池再生缓存池默认缓存池共享池1
5、.4.2 Oracle相关进程1.5 逻辑结构1.5.1 表空间1.5.2 段1.5.3 盘区1.5.4 数据块第二章 SQL/PLUS基础1.1 登录账户用sys/system账户,以sysdba的方式登录,可以解锁其他账户,如:alter user scott account unlock;alter user scott identified by aaaaa;conn scott/aaaaa;注意:密码是纯数字,如123456是不对的1.2 帮助SQLhelp indexSQL? SET1.3 替代变量和执行计划A:SQLselect * from dept where deptno=
6、10;SQLselect * from dept where deptno=20;B:SQLselect * from dept where deptno=&tt;SQL10SQLselect * from dept where deptno=&tt;SQL20A和B得到的结果一样,但A中启动两个执行计划,B中只有一个给用户授权: Grant connet to aaa;第三章 SQL语言基础1.3.1语言的分类DDL:数据定语言 Create 实例:create table abc(a varchar2(10),b char(10);创建表alter table ChinaCity modi
7、fy CitySimple null; 修改表字段为空grod table ChinaCity删除表Alter 实例:alter table abc add c number;添加表字段Drop 实例:drop table abc;删除表,alter table abc drop column c;删除表中的某一字段DCL:数据控制语言 Grant 实例:grant select on dept to tt;授权给tt用户有查询的权限 Revoke 实例:revoke select on dept from tt;收回tt用户的查询权限DML:数据操纵语言 Select 实例:select *
8、 from abc;查询abc表的值 Insert 实例:insert into abc(a,b) values(abc,xy);为abc表赋值 Update 实例:update abc set b=ttt;修改abc表中所有的b改为ttt update abc set b=yyy where a=abc;把abc表中a为abc的b改为yyy Delete 实例:delete from abc;把表里面的所有数据都情空 delete from abc where a=abc;把表里面a为abc的删除1.3.2常用的系统函数字符:length查字符,lengthb差字节,trim,ltrim和r
9、trim截掉空格和左右两边空格,substr(abcdefj,2,3)截取字符串,从第二个开始取三个,substr(abcdefg,length(abcdefg)-3+1,3) 答案efg可变长(varchar2(10))的存多少字符长度就为多少,对于不可变长的(char(10)),没有存满也是原本定的长度所以为了避免不必要的浪费,一般定义为可变长日期: sysdate当前时间,current_date查询当前时间,alter session set nls_date_format=dd-mon-yyyy hh:mi:ss;设定时间的格式next_day指定的某个星期几是几号select ne
10、xt_day(sysdate,星期三) from dual;转换: To_char(sysdate,yyyy-mm-dd hh24:mi:ss)把日期型传唤出字符型,24小时制 To_date(12-3月-04)把字符型转换成日期型 To_number(333)字符型转换成整型聚集函数: Sum()总数,max()最大值,min()最小值,avg()平均值,count()总记录数其他: select user from dual;查询当前的登录帐号 select sum(decode(sex,男,1,0),sum(decode(sex,女,1,0) from 表;统计男为几个,女为几个 sel
11、ect a1,nvl(a2,为输入) a2 from 表;如果为空值就表面为输入 select * from 表面 order by a1 asc;升序排列 select * from 表面 order by a1 desc;降序排列 select distinct a1 from 表面;去除重复数据分组语句: select pub, sum(price) from books group by pub;使用group by分组查询各出版社的图书价格 select pub,sum(price) from books group by pub having sum(price)50;group
12、by结合having查询总金额大于50的出版社名称 select a1,count(a1) from aa group by a1 having count(a1)1;查询a1字段重复出现的次数模糊查询: select * from aa where a1 like a_;使用通配符(like)查询a1字段中以a开头,任意多个字符结尾的数据 select * from aa where a1 like %a%;查询表中a1有a字符的数据表连接: select e.eid 编号,e.name 姓名,e.sex 性别,d.name 所在部门 from e inner join d on e.id=
13、d.id;内链接select e.eid 编号,e.name 姓名,e.sex 性别,d.name 所在部门 from e,d where e.id=d.id(+);左链接select e.eid 编号,e.name 姓名,e.sex 性别,d.name 所在部门 from e,d where e.id(+)=d.id;右链接子查询:(无关子查询,相关子查询) select * from e where id in (select id from d where id=e.id and id=03);select * from e where id not in (select id from
14、 d where id=e.id and id=03); select * from e where exists (select id from d);判断是否存在结果集 select * from e where not exists (select id from d);判断是否不存在结果集 select eid,name from e union select id,name from d;把两张表合并成一张,去除重复数据 select id from e intersect select id from d;返回两个sql语句中都出现的行 insert into e(eid,enam
15、e) select id,name from d;一次从别的表中插入多条记录create table ttt as (select * from e);创建表是复制别的表中的数据进入新表create table t as select eid,ename from e where eid=001;选择001的数据复制到新的表里面第四章 PL/SQL基础PL/SQL的结构:Declare.-声明变量,赋予初值,可选项Begin -具体的操作Exception -声明,实现异常处理部分end;/实例:dclarex varchar2(10);y integer:=123;z string(10):
16、=123;begin x:=this is;dbms_output.put_line(x的值为:|x);-|表示连接字符,dbms_output是一个包,实现与外部的交互,put_line打印输出;end;/set serveroutput on size 10000;-设置显示输出信息,默认的是不输出,设置字节大小为10000;量声明:变量声明的内容:赋予变量适当的名称,适当的数据类型,定义变量(标准变量,复合变量),控制变量范围命名规则:变量由字符开头,可以包含数字,下划线,$,#等,变量长度范围130,大小写不区分,变量名不能是系统关键字存储:save c:plsql_01.text;执
17、行: c:plsql_01.text;修改:edit c:plsql_01.text;dbms_output. new_line-表示在新行里面打印输出;和dbms_output. put一起使用,也就是dbms_output.put_line分支语句:1、 if分支 语法:if then.elsif.then.elseend if 实例:declare a number;b varchar2(10);begina :=2;If a=1 thenb :=a;elsif a=2 thenb :=B;elseb :=c;end if;dbms_output.put_line(b的值是:|b);-输
18、出end;/2、 case分支 语法:casewhenthenelseend case 实例:declare a number;b varchar2(10);begina :=2;casewhen a=1 then b:=A;when a=2 then b:=B;when a=3 then b:=C;elseb:=abc;end case;dbms_output.put_line(b的值是:|b);-输出end;/循环语句:1、 基本循环(loop)语法:LoopEnd loop实例:DeclareX number;BeginX:=0;LoopX:=x+1;If x=3 thenExit;En
19、d if;Dbms_output.put_line(内:x=|X);End loop;Dbms_output.put_line(外:x=|X);End;/2、 while循环语法:while expression loopEnd loop; 实例: Declare X number; Begin X:=0; While x=3 loop X:=X+1;Dbms_output.put_line(内:x=|X);End loop;Dbms_output.put_line(外:x=|X);End;/3、 for循环语法:for counter in reverse start_value-起始end
20、_value Loop-结束End loop; 实例:BeginFor i IN 1.5 loop-希望由大到小,在IN后面加上 REVERSEDBMS_output.put_line(i=|i);End loop;DBMS_OUTPUT.PUT_LINE(end of for loop);End;/4、 goto语句实现循环:实例:DeclareX number;BeginX:=0;-设置标记X:=x+1;Dbms_output.put_line(x);If x3 thenGoto repeat_loop;-如果x小于3就goto到之前的标记位置End if;End;/异常处理:异常分类 系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 快速 入门 基础 介绍 材料
限制150内