资源预览内容
第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
第9页 / 共67页
第10页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1页 神州数码思特奇信息技术股份有限公司 Oracle基础培训 胡继钢 内容介绍Oracle基础 使用DDL 使用DML PL SQL基础知识 PROC C基础知识 Oracle基础 配置 ora文件 客户端tnsnames ora文件的位置和作用文件位置UNIX ORACLE HOME network adminWIN ORACLE HOME net80 admin作用保存着连接到服务器监听端口需要的地址和端口号信息可配置多个服务器监听端口 配置 ora文件 客户端tnsnames ora的基本内容 在UNIX下配置和使用Oracle 属性文件 profileetc 我们关注的ORACLE SID las exportORACLE SIDORACLE OWNER oracle exportORACLE OWNERORACLE BASE oracle oracle app oracle exportORACLE BASEORACLE HOME ORACLE BASE product 8 0 6 exportORACLE HOMEORACLE DOC ORACLE HOME doc exportORACLE DOCORA NLS33 ORACLE HOME ocommon nls admin data exportORA NLS33TMPDIR tmp exportTMPDIRLD LIBRARY PATH ORACLE HOME lib usr lib exportLD LIBRARY PATHPATH PATH ORACLE HOME bin usr lbin exportPATHNLS LANG American America zhs16gbk exportNLS LANGSHLIB PATH ORACLE HOME lib ORACLE HOME network lib usr lib exportSHLIB PATH 用户 安全和模式 内容介绍Oracle基础管理 使用DML 使用DDL PL SQL基础知识 PROC C基础知识 Oracle基础 使用DML 内容介绍常用SQL语句常用内部函数的使用构造高效率的SQL 使用DML 查询数据 基本的Select查询语法SELECTcolumn listsFROMtable listsWHEREconditionsGROUPBYcolumn listsHAVINGconditionsORDERBYcolumn lists 使用DML 查询数据 选择数据SELECTlast name first name specialtyFROMartist 排列数据使用ORDERBY降序 DESC升序 ASC 默认 SELECTlast name first name specialtyFROMartistORDERBYfirst nameDESC 使用DML 查询数据 约束结果使用WHERESELECTlast name first name specialtyFROMartistWHEREspecialty DIGITAL 比较运算符 LIKE 匹配字符串 匹配字符BETWEEN INISNULL ISNOTNULL 使用DML 查询数据 使用WHERE的注意事项引用的字符必须在单引号内 而不是双引号如果需要在字符串内放单引号 应该写两次 例如想比较won t 在WHERE中应写成 won t 注意AND和OR的使用要考虑空值的影响 使用DML 查询数据 关联表Cartesian产品 使用DML 查询数据 使用相等关联来比较列SELECTbook id book title bl book id bl student idFROMbooks books loanedWHEREbook id bl book id 使用表的别名SELECTb book id b book title bl bl book id bl bl student id s student id s first name s last nameFROMbooksb books loanedbl studentssWHEREb book id bl bl book idandbl bl student id s student id 使用DML 查询数据 内部关联两个表之间的内部关联返回两个表中都符合的记录的行 使用DML 查询数据 外部关联外部关联关联了两个表并使得即使第二个表没有与第一个表符合的记录时也能返回结果 使用DML 查询数据 使用GROUPBY子句原理Oracle对查询检索数据并在临时存储区中保存 Oracle对数据排序 并和GROUPBY值一起对所有数据分组 Oracle把指定的聚集函数应用到每个记录组并对每组返回一行 注意由于求和查询对每组返回一行 所以在选择列中不可能有GROUPBY子句中没有列出的列 除非它们应用了一个聚集函数 使用DML 查询数据 例子正确SELECTspecialty COUNT FROMartistGROUPBYspecialty 错误SELECTspecialty last name first name COUNT FROMartistGROUPBYspecialty 使用DML 查询数据 使用HAVING子句HAVING和WHERE的区别在于HAVING子句中的条件是被求和后应用到数据 它只对指定组有兴趣 SELECTspecialtyFROMartistGROUPBYspecialtyHAVINGCOUNT 1ANDspecialty OTHER SELECTspecialtyFROMartistWHEREspecialty OTHER GROUPBYspecialtyHAVINGCOUNT 1 使用DML 查询数据 使用DISTINCT和ALL关键字默认为ALLSELECTCOUNT DISTINCTspcialty FROMartist SELECTCOUNT spcialty FROMartist 使用DML 修改数据 插入数据基本形式INSERTINTOtablename columnname1 columnname2 VALUES value1 value2 子查询形式INSERTINTOtablename columnname1 columnname2 subquery 使用DML 修改数据 更新数据基本形式UPDATEtablenameSETcolumnname1 expression1 columnname2 expression2 WHEREconditions 子查询形式UPDATEtablenameSET columnname1 columnname2 SELECTcolumnname3 columnname4 FROMtablename2WHEREconditions WHEREconditions 使用DML 修改数据 删除数据基本形式DELETEFROMtablenameWHEREconditions 子查询形式DELETEFROMtablenameWHEREsubquery 使用DML 常用内部函数 常用内部函数 1 通用函数LOWER 函数UPPER 函数DECODE 函数INSTR 函数SUBSTR 函数NVL 函数LENGTH 函数常用内部函数 2 数字函数ROUND 函数TRUNC 函数MOD 函数连接运算符 使用DML 常用内部函数 常用内部函数 3 日期函数SYSDATEMONTHS BETWEEN 函数NEXT DAY 函数LAST DAY 函数ADD MONTHS 函数ROUND 函数TRUNC 函数常用内部函数 4 格式转换函数TO CHAR 函数TO DATE 函数TO NUMBER 函数常用的格式转化 使用DML 常用内部函数 常用内部函数 5 聚合函数AVG 函数COUNT 函数MAX 函数MIN 函数SUM 函数 使用DML 构造高效率的SQL 内容提要使用索引应该避免的问题 使用DML 构造高效率的SQL 使用索引索引可以成百上千倍的提高SQL语句效率查询系统中的索引按照索引的顺序访问表使用效率最高的索引 使用DML 构造高效率的SQL 应该避免的问题尽量不要在检索条件中对列使用函数 因为会阻止索引的使用如果可以使用where条件 尽量不要在having中限制数据尽量不要使数据排序引起排序的条件OrderbyGroupbyUnion intersect minusDistinct谨慎使用in exists 内容介绍Oracle基础管理 使用DML 使用DDL PL SQL基础知识 PROC C基础知识 Oracle基础 使用DDL 管理表 了解表表是关系数据库的基础 它们典型的由下面几个主要元素组成 列 定义存储在表中的数据约束 限制存储在表中的数据索引 允许根据一列或多列中的值快速访问一个表中的数据 使用DDL 管理表 列名列名必须以字母开头列名最多可包括30个字符列名的第一个字母后 可由字母 数字 任意组合而成除非在括号中引用 否则Oracle自动会将所有列名转化为大写字母约束主键 唯一且非空唯一键 唯一外部键 连接包括相关信息的两个表检查 允许定义一个强制性条件 在一行被存入表之前它必须为真 比如NOTNULL 使用DDL 管理表 建立表CREATETABLEaquatic animal id nonumber 10 tank nonumber 10 animal namevarchar2 30 birth datedate death datedate markings descvarchar2 30 CONSTRAINTaquatic animal pkPRIMARYKEY id no USINGINDEXTABLESPACEindx CONSTRAINTaquatic name tankUNIQUE animal name tank no USINGINDEXTABLESPACEindxSTORAGE INITIAL50KNEXT10K TABLESPACEusers 使用DDL 管理表 修改表增加列和约束ALTERTABLEtablenameADD column or constraint column or constraint 例如 ALTERTABLEaquatic animalADD animal sexchar CONSTRAINTanimal sex mfCHECK animal sexIN M F 使用DDL 管理表 删除约束ALTERTABLEtablenameDROPCONSTRAINTconstraintname 如果打算删除一个主键约束或者一个唯一键约束而它有外部键约束 必须指定cascade选项 比如 ALTERTABLEtankDROPCONSTRAINTtank pkcascade 使用DDL 管理表 删除列ALTERTABLEtablenameDROPCOLUMNcolumnname 在Oracle8i以前的版本 删除一个列的唯一方法是先删除整个表然后从临时本中重建一个 临时本是一个为了满足保存和还原数据而建立的进程 在大表中删除列时要小心 Oracle实际上读取表中的每一行 并从每一行中删除列 快速删除一列的方法ALTERTABLEtablenameSETUNUSED columnname ALTERTABLEtablenameDROPUNUSEDCOLUMNS 使用DDL 管理表 修改列ALTERTABLEtablenameMODIFY columnname1typedefine 比如 ALTERTABLEaquatic animalMODIFY animal namevarchar2 60 使用DDL 管理表 删除表DROPTABLEtablename 当其它表有外部键指向被删除的表时 需要加选项CASCADECONSTRAINS D
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号