Oracle基础知识专项培训8260.pptx

上传人:jix****n11 文档编号:77252453 上传时间:2023-03-13 格式:PPTX 页数:67 大小:758.88KB
返回 下载 相关 举报
Oracle基础知识专项培训8260.pptx_第1页
第1页 / 共67页
Oracle基础知识专项培训8260.pptx_第2页
第2页 / 共67页
点击查看更多>>
资源描述

《Oracle基础知识专项培训8260.pptx》由会员分享,可在线阅读,更多相关《Oracle基础知识专项培训8260.pptx(67页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第1页神州数码思特奇信息技术股份有限公司神州数码思特奇信息技术股份有限公司Oracle Oracle 基础培训基础培训胡继钢胡继钢n内容介绍内容介绍OracleOracle基础基础(*)(*)使用DDL (*)使用DML(*)PL/SQL基础知识(*)PROC*C基础知识(*)Oracle基础配置配置.oraora文件文件n客户端客户端tnsnames.oratnsnames.ora文件的位置和作用文件的位置和作用文件位置UNIX:$ORACLE_HOME/network/adminWIN:ORACLE_HOMEnet80admin作用保存着连接到服务器监听端口需要的地址和端口号信息可配置多个

2、服务器监听端口 配置配置.oraora文件文件n客户端客户端tnsnames.oratnsnames.ora的基本内容的基本内容在在UNIXUNIX下配置和使用下配置和使用OracleOraclen属性文件属性文件(.(.profile etc.)profile etc.)我们关注的ORACLE_SID=las;export ORACLE_SIDORACLE_OWNER=oracle;export ORACLE_OWNERORACLE_BASE=/oracle/oracle/app/oracle;export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/produc

3、t/8.0.6;export ORACLE_HOMEORACLE_DOC=$ORACLE_HOME/doc;export ORACLE_DOCORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS33TMPDIR=/tmp;export TMPDIRLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib;export LD_LIBRARY_PATHPATH=$PATH:$ORACLE_HOME/bin:/usr/lbin:.;export PATHNLS_LANG=American_America.z

4、hs16gbk;export NLS_LANGSHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/lib;export SHLIB_PATH用户、安全和模式用户、安全和模式n内容介绍内容介绍Oracle基础管理(*)使用使用DML (*)DML (*)使用DDL(*)PL/SQL基础知识(*)PROC*C基础知识(*)Oracle基础使用使用DMLDMLn内容介绍内容介绍常用SQL语句常用内部函数的使用构造高效率的SQL使用使用DML DML 查询数据查询数据n基本的基本的SelectSelect查询语法查询语法SELECT co

5、lumn_listsFROM table_listsWHERE conditionsGROUP BY column_listsHAVING conditionsORDER BY column_lists;使用使用DML DML 查询数据查询数据n选择数据选择数据SELECT last_name,first_name,specialty FROM artist;排列数据排列数据使用ORDER BY降序:DESC升序:ASC(默认)SELECT last_name,first_name,specialty FROM artistORDER BY first_name DESC;使用使用DML DM

6、L 查询数据查询数据n约束结果约束结果使用WHERESELECT last_name,first_name,specialtyFROM artistWHERE specialty=DIGITAL;比较运算符,=,=LIKE%匹配字符串,_匹配字符BETWEEN,INIS NULL,IS NOT NULL使用DML 查询数据使用WHERE的注意事项引用的字符必须在单引号内,而不是双引号如果需要在字符串内放单引号,应该写两次,例如想比较wont,在WHERE中应写成wont注意AND和OR的使用要考虑空值的影响使用使用DML DML 查询数据查询数据n关联表关联表Cartesian产品使用使用DM

7、L DML 查询数据查询数据使用相等关联来比较列SELECT book_id,book_title,bl_book_id,bl_student_idFROM books,books_loanedWHERE book_id=bl_book_id;使用表的别名SELECT b.book_id,b.book_title,bl.bl_book_id,bl.bl_student_id,s.student_id,s.first_name,s_last_nameFROM books b,books_loaned bl,students sWHERE b.book_id=bl.bl_book_idand bl

8、.bl_student_id=s.student.id;使用使用DML DML 查询数据查询数据内部关联两个表之间的内部关联返回两个表中都符合的记录的行。使用使用DML DML 查询数据查询数据外部关联外部关联关联了两个表并使得即使第二个表没有与第一个表符合的记录时也能返回结果。使用使用DML DML 查询数据查询数据使用GROUP BY子句原理qOracle对查询检索数据并在临时存储区中保存;qOracle对数据排序,并和GROUP BY值一起对所有数据分组;qOracle把指定的聚集函数应用到每个记录组并对每组返回一行。注意q由于求和查询对每组返回一行,所以在选择列中不可能有GROUP B

9、Y子句中没有列出的列,除非它们应用了一个聚集函数。使用使用DML DML 查询数据查询数据例子q正确SELECT specialty,COUNT(*)FROM artistGROUP BY specialty;q错误SELECT specialty,last_name,first_name,COUNT(*)FROM artistGROUP BY specialty;使用使用DML DML 查询数据查询数据使用HAVING子句HAVING和WHERE的区别在于HAVING子句中的条件是被求和后应用到数据,它只对指定组有兴趣。SELECT specialtyFROM artistGROUP BY

10、specialtyHAVING COUNT(*)=1 AND specialtyOTHER;SELECT specialtyFROM artistWHERE specialtyOTHERGROUP BY specialtyHAVING COUNT(*)=1;使用使用DML DML 查询数据查询数据使用DISTINCT和ALL关键字默认为ALLSELECT COUNT(DISTINCT spcialty)FROM artist;SELECT COUNT(spcialty)FROM artist;使用使用DML DML 修改数据修改数据n插入数据插入数据基本形式INSERT INTO tablen

11、ame(columnname1,columnname2,)VALUES(value1,value2,);子查询形式INSERT INTO tablename(columnname1,columnname2,)subquery;使用使用DML DML 修改数据修改数据n更新数据更新数据基本形式UPDATE tablenameSET columnname1=expression1,columnname2=expression2,WHERE conditions;子查询形式UPDATE tablenameSET(columnname1,columnname2,)=(SELECT columnname

12、3,columnname4,FROM tablename2 WHERE conditions)WHERE conditions;使用使用DML DML 修改数据修改数据n删除数据删除数据基本形式DELETE FROM tablenameWHERE conditions;子查询形式DELETE FROM tablenameWHERE subquery;使用使用DML DML 常用内部函数常用内部函数n常用内部函数常用内部函数(1)(1)通用函数通用函数LOWER()函数UPPER()函数DECODE()函数INSTR()函数SUBSTR()函数NVL()函数LENGTH()函数常用内部函数常用内

13、部函数(2)(2)数字函数数字函数ROUND()函数TRUNC()函数MOD()函数连接运算符:|使用使用DML DML 常用内部函数常用内部函数n常用内部函数常用内部函数(3)(3)日期函数日期函数SYSDATEMONTHS_BETWEEN()函数NEXT_DAY()函数LAST_DAY()函数ADD_MONTHS()函数ROUND()函数TRUNC()函数n常用内部函数常用内部函数(4)(4)格式转换函数格式转换函数TO_CHAR()函数TO_DATE()函数TO_NUMBER()函数常用的格式转化使用使用DML DML 常用内部函数常用内部函数n常用内部函数常用内部函数(5)(5)聚合函

14、数聚合函数AVG()函数COUNT()函数MAX()函数MIN()函数SUM()函数使用使用DMLDML构造高效率的构造高效率的SQLSQLn内容提要内容提要使用索引应该避免的问题使用使用DMLDML构造高效率的构造高效率的SQLSQLn使用索引使用索引索引可以成百上千倍的提高SQL语句效率查询系统中的索引按照索引的顺序访问表使用效率最高的索引使用使用DMLDML构造高效率的构造高效率的SQLSQLn应该避免的问题应该避免的问题尽量不要在检索条件中对列使用函数,因为会阻止索引的使用如果可以使用where条件,尽量不要在having中限制数据尽量不要使数据排序引起排序的条件qOrder byqG

15、roup byqUnion,intersect,minusqDistinct谨慎使用in,existsn内容介绍内容介绍Oracle基础管理(*)使用DML(*)使用使用DDL (*)DDL (*)PL/SQL基础知识(*)PROC*C基础知识(*)Oracle基础使用DDL 管理表n了解表了解表表是关系数据库的基础,它们典型的由下面几个主要元素组成:列 定义存储在表中的数据约束 限制存储在表中的数据索引 允许根据一列或多列中的值快速访问一个表中的数据使用DDL 管理表管理表n列名列名列名必须以字母开头列名最多可包括30个字符列名的第一个字母后,可由字母、数字、(#)、($)、(_)任意组合而

16、成除非在括号中引用,否则Oracle自动会将所有列名转化为大写字母n约束约束主键 唯一且非空唯一键 唯一外部键 连接包括相关信息的两个表检查 允许定义一个强制性条件,在一行被存入表 之前它必须为真,比如NOT NULL使用DDL 管理表管理表n建立表建立表CREATE TABLE aquatic_animal(id_nonumber(10),tank_nonumber(10),animal_namevarchar2(30),birth_datedate,death_datedate,markings_descvarchar2(30),CONSTRAINT aquatic_animal_pkPR

17、IMARY KEY(id_no)USING INDEX TABLESPACE indx,CONSTRAINT aquatic_name_tankUNIQUE(animal_name,tank_no)USING INDEX TABLESPACE indxSTORAGE(INITIAL 50K NEXT 10K)TABLESPACE users;使用DDL 管理表管理表n修改表修改表增加列和约束ALTER TABLE tablenameADD(column_or_constraint,column_or_constraint);例如:ALTER TABLE aquatic_animalADD(an

18、imal_sexchar,CONSTRAINT animal_sex_mf CHECK(animal_sex IN(M,F);使用DDL 管理表管理表删除约束ALTER TABLE tablenameDROP CONSTRAINT constraintname;如果打算删除一个主键约束或者一个唯一键约束而它有外部键约束,必须指定cascade选项,比如:ALTER TABLE tankDROP CONSTRAINT tank_pk cascade;使用DDL 管理表管理表删除列ALTER TABLE tablenameDROP COLUMN columnname;在Oracle8i以前的版本,

19、删除一个列的唯一方法是先删除整个表然后从临时本中重建一个。临时本是一个为了满足保存和还原数据而建立的进程。在大表中删除列时要小心。Oracle实际上读取表中的每一行,并从每一行中删除列。快速删除一列的方法ALTER TABLE tablename SET UNUSED(columnname);ALTER TABLE tablename DROP UNUSED COLUMNS;使用DDL 管理表管理表修改列ALTER TABLE tablenameMODIFY(columnname1typedefine,);比如:ALTER TABLE aquatic_animalMODIFY(animal_n

20、amevarchar2(60);使用DDL 管理表管理表n删除表删除表DROP TABLE tablename;当其它表有外部键指向被删除的表时,需要加选项CASCADE CONSTRAINS。DROP TABLE aquatic_animal CASCADE CONSTRAINS;使用DDL 管理索引管理索引n建立索引建立索引CREATE UNIQUE INDEX indexnameON tablename(columnname1,columnname2,)TABLESPACE tablespacename;使用DDL 管理索引管理索引n修改索引修改索引修改索引名称ALTER INDEX o

21、ldindexnameRENAME TO newindexname;修改索引属性ALTER INDEX indexnameREBUILD;如果想向索引中增加列,必须先删除索引然后再重建。n删除索引删除索引DROP INDEX indexname;OracleOracle编程编程 PL/SQL PL/SQLnSQLSQL和和PL/SQLPL/SQLSQL是一种ANSI标准类型的描述语言;PL/SQL是Oracle公司开发的一种对SQL语言进行了扩充的过程化语言。二者都可以在数据库的服务器上运行。二者之间可以相互调用。PL/SQL支持数据库使用的多种标准数据类型。OracleOracle编程编程

22、PL/SQL PL/SQLnPL/SQLPL/SQL块的结构块的结构变量声明(可选部分)程序代码异常处理(可选部分)DECLAREBEGINEXCEPTIONEND;OracleOracle编程编程 PL/SQLPL/SQLn变量声明变量声明包含内容赋予变量适当的名称赋予变量正确的数据类型定义标量变量和记录类型变量(记录由标量组成)控制变量的范围命名规则变量名必须由字符开头在首字符之后,变量名应包括:字母、数字、_、$、#变量的长度范围:130变量名大小写不敏感变量名不能和语言中的关键子重复数据类型OracleOracle编程编程 PL/SQL PL/SQLnDBMS_OUTPUTDBMS_O

23、UTPUT包包使用前定义:SET SERVEROUTPUT ONDBMS_OUTPUT包允许使用SQL*Plus从PL/SQL中显示输出信息输出过程DBMS_OUTPUT.PUT_LINE允许显示一行文本DBMS_OUTPUT.PUT允许显示一段文本,但不能生成换行符DBMS_NEW_LINE生成换行符OracleOracle编程编程 PL/SQLPL/SQLn语句类型语句类型分支控制语句IF expression THENstatementsELSIF expressionstatementsELSEstatementsEND IF;OracleOracle编程编程 PL/SQL PL/SQ

24、L循环语句PL/SQL支持三种不同类型的循环结构:qWHILE循环qFOR循环q基本循环WHILE循环WHILE expression LOOPstatementsEND LOOP;FOR循环FOR counter IN REVERSE startvalueendvalue LOOPstatementsEND LOOP;OracleOracle编程编程 PL/SQL PL/SQL基本循环没有内部控制的循环结构,在程序代码中编写代码来结束该循环。LOOPstatementsEND LOOP;EXIT语句EXIT是只有一个单词的语句,它能够结束一个循环。EXIT WHEN语句EXIT WHEN语句

25、是EXIT语句的一个更新的版本。EXIT WHEN expression;OracleOracle编程编程 PL/SQL PL/SQLNULL语句NULL语句什么也不做。使用NULL语句的唯一原因就是把它当作一个占位符。IF x=2 THENDBMS_OUTPUT.PUT_LINE(x=2);ELSENULL;END IF;OracleOracle编程编程 PL/SQL PL/SQLGOTO语句GOTO label;DECLARExNUMBER:=0;BEGINx:=0;x:=x+1;DBMS_OUTPUT.PUT_LINE(x);IF x 10 THEN UPDATE table2 SET

26、column2=F WHERE table1.column2=table2.column1;ELSE UPDATE demotable2 SET column2=T WHERE table1.column2=table2.column1;END IF;ENDOracleOracle编程编程 PROC*C PROC*COracleOracle编程编程 PROC*C PROC*Cn PROC*CPROC*C简介简介一个可以在高级语言中嵌入SQL语句的编程工具需要经过预编译过程才能转换为C语言代码使用嵌入式SQL完成数据库操作几点补充说明几点补充说明n常用的几种链接常用的几种链接oracleoracle数据库的工具数据库的工具n这几种工具是如何连接到这几种工具是如何连接到oracleoracle数据库的数据库的n学习学习PL/SQLPL/SQL的资料推荐的资料推荐 SQL21 SQL21自学通自学通.pdf.pdf n工作中遇到问题,如何快速解决?如何寻求帮助?工作中遇到问题,如何快速解决?如何寻求帮助?找出问题的关键,找出问题的关键,baidubaidu、googlegoogle、导师、同事、导师、同事n如何快速的融入到公司的项目中?展现自己如何快速的融入到公司的项目中?展现自己谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com