您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > OracleSQL培训教程(1~4章)
数据库测试培训教程V1.0就业培训教材-OracleSQL2学习目标•掌握标准SQL语句,特别是查询语句的使用•熟悉Oracle基本用户和安全管理•了解表、索引、序列的管理•熟悉PL/SQL工具的使用3课程内容•第一章SQL编写规范•第二章SQL语言基础•第三章限定和排序数据•第四章单组函数•第五章从多个表显示数据•第六章使用组函数•第七章子查询•第八章操作数据•第九章管理表•第十章约束•第十一章视图•第十二章其他数据库对象•第十三章用户及权限•SQL总结4第一章SQL编写规范•了解SQL编写规范5明确的规范sql语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。连接符or、in、and、以及=、=、=等前后加上一个空格。对较为复杂的sql语句、过程、函数加上注释,说明算法、功能。SQL语句的缩进风格1.一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进2.where子句书写时,每个条件占一行,语句另起一行时,以保留字或者连接符开始,连接符右对齐。多表连接时,使用表的别名来引用列。6其它注意事项SQL命令是大小写不敏感SQL命令可写成一行或多行一个关键字不能跨多行或缩写子句通常位于独立行,以便编辑,并易读7课程内容•第一章SQL编写规范•第二章SQL语言基础•第三章限定和排序数据•第四章单组函数•第五章从多个表显示数据•第六章使用组函数•第七章子查询•第八章操作数据•第九章管理表•第十章约束•第十一章视图•第十二章其他数据库对象•第十三章用户及权限•SQL总结8第二章SQL语言基础•快速了解SQLSELECT语句的语法•通过SELECT语句获取数据•使用SELECT语句完成复杂功能•了解SQL命令和SQL*PLUS命令的区别9SQLSELECT命令的能力SelectionSelectionProjectionProjectionTable1Table1Table2Table2Table1Table1Table1Table1JoinJoin10基本的SELECT命令SELECT识别什么列FROM识别哪个表SELECT{*,column[alias],...}FROMtable;SELECT{*,column[alias],...}FROMtable;11SQL语句规则SQL语句是大小写不敏感SQL语句可写成一行或多行一个关键字不能跨多行或缩写子句通常位于独立行,以便编辑,并易读空格和缩进使程序易读关键字大写,其他小写12选择所有列DEPTNODNAMELOC------------------------------------10ACCOUNTINGNEWYORK20RESEARCHDALLAS30SALESCHICAGO40OPERATIONSBOSTONSQLSELECT*2FROMdept;13选择指定的列DEPTNOLOC----------------------10NEWYORK20DALLAS30CHICAGO40BOSTONSQLSELECTdeptno,loc2FROMdept;14算数表达式对NUMBER和DATE型数据可用算数运算创建表达式运算+-*/描述加法减法乘法除法15使用算数运算SQLSELECTename,sal,sal+3002FROMemp;ENAMESALSAL+300----------------------------KING50005300BLAKE28503150CLARK24502750JONES29753275MARTIN12501550ALLEN16001900...14rowsselected.16运算的优先级乘法和除法的优先级高于加法和减法同级运算的顺序是从左到右表达式中使用括号可强行改变优先级的运算顺序***///+++___17运算的优先级SQLSELECTename,sal,12*sal+1002FROMemp;ENAMESAL12*SAL+100-----------------------------KING500060100BLAKE285034300CLARK245029500JONES297535800MARTIN125015100ALLEN160019300...14rowsselected.18使用括号SQLSELECTename,sal,12*(sal+100)2FROMemp;ENAMESAL12*(SAL+100)------------------------------KING500061200BLAKE285035400CLARK245030600JONES297536900MARTIN125016200...14rowsselected.19定义空值空值是指不可用,不知道,不适用的值空值不等于零或空格SQLSELECTename,job,comm2FROMemp;ENAMEJOBCOMM----------------------------KINGPRESIDENTBLAKEMANAGER...TURNERSALESMAN0...14rowsselected.20空值的运算表达式包括空值的算法表达式等于空SQLselectenameNAME,12*sal+comm2fromemp3WHEREename='KING';NAME12*SAL+COMM---------------------KING21定义列的别名改变列的标题头使用计算结果列的别名如果使用特殊自符,或大小写敏感,或有空格时,需加双引号22使用列的别名SQLSELECTenameASname,salsalary2FROMemp;NAMESALARY----------------------...SQLSELECTenameName,2sal*12AnnualSalary3FROMemp;NameAnnualSalary--------------------------...23连结操作将列或字符与其它列连结用双竖条表示(||)产生的结果列是一个字符表达式24使用连结操作SQLSELECTename||jobASEmployees2FROMemp;Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14rowsselected.25文字字符串文字字符串是一个包括在SELECT列表中的字符,表达式,或数字日期和字符型文字字符必须用单引号括起来每返回一条记录字符被输出一次26使用文字字符串EmployeeDetails-------------------------KINGisaPRESIDENTBLAKEisaMANAGERCLARKisaMANAGERJONESisaMANAGERMARTINisaSALESMAN...14rowsselected.EmployeeDetails-------------------------KINGisaPRESIDENTBLAKEisaMANAGERCLARKisaMANAGERJONESisaMANAGERMARTINisaSALESMAN...14rowsselected.SQLSELECTename||''||'isa'||''||job2ASEmployeeDetails3FROMemp;27构造命令SELECT'deletefrom'||table_name||'where1=0;'||chr(10)FROMuser_all_tables/deletefromCUSTOMERSwhere1=0;deletefromPRODUCT_TYPESwhere1=0;deletefromPRODUCTSwhere1=0;deletefromPURCHASESwhere1=0;deletefromEMPLOYEESwhere1=0;…………………………28重记录缺省情况下查询显示所有行,包括重行SQLSELECTdeptno2FROMemp;SQLSELECTdeptno2FROMemp;DEPTNO---------10301020...14rowsselected.29删除重复行使用DISTINCT关键字可删除重行SQLSELECTDISTINCTdeptno2FROMemp;DEPTNO---------102030注:DISTINCT操作会引起排序,通过排序去掉重复记录!30SQL和SQL*Plus的交互作用iiSQLSQL**PlusPlusInternetBrowserInternetBrowserSQLscriptsServerSQLSQL命令命令查询结果查询结果格式化结果格式化结果31SQL指令和iSQL*Plus命令的比较SQLSQLstatementsstatementsSQLSQLbufferbufferiiSQLSQL**PlusPluscommandscommandsSQLSQL**PlusPlusbufferbufferSQLSQL••一种语言一种语言••ANSIANSI标准标准••关键字不可缩写关键字不可缩写••指令可操纵数据库中定义指令可操纵数据库中定义的数据和表的数据和表iiSQLSQL**PlusPlus••一种环境一种环境••OracleOracle专有专有••关键字可缩写关键字可缩写••命令不许处理数据库中的命令不许处理数据库中的值值••集中安装,无需每台客户集中安装,无需每台客户端都安装端都安装32iSQL*Plus概述登陆到iSQL*Plus描述表的结构编辑SQL语句从iSQL*Plus执行SQL将SQL语句保存或追加到文件中执行存储的文件从文件将SQL语句调到缓冲区编辑33登陆到iSQL*Plus从视窗环境:从命令行:sqlplus[sqlplus[usernameusername[/[/passwordpassword[@[@databasedatabase]]]]]]34启动isqlplusisqlplusctlstart/stop35登陆到iSQL*PLUS环境使用浏览器登陆:5560/isqlplus/(其中192.168.1.99改成您的IP)36显示表结构使用SQL*Plus的DESCRIBE命令显示表结构:DESC[RIBE]tablenameDESC[RIBE]tablenameSQLDESCRIBEdeptSQLDESCRIBEdeptNameNull?Type-----------------------------DEPTNONOTNULLNUMBER(2)DNAMEVARCHAR2(14)LOCVARCHAR2(13)NameNull?Type-----------------------------DEPTNONOTNULLNUMBER(2)DNAMEVARCHAR2(14)LOCVARCHAR2(13)37SQL*Plus的编辑命令I[NPUT]输入SQL语句I[NPUT]textL[IST]显示SQL语句L[IST]nL[IST]mnR[UN]执行SQL语句nntext0text38SQL*Plus的编辑命令A[PPEND]text追加SQL语句C[HANGE]/old/new修改SQL语句C[HANGE]/text/CL[EAR]BUFF[ER]清空缓冲区DEL删除SQL语句DELnDELmn39SQL*Plus的编辑命令SAVEfilename保存到文件GETfilename从文件读取到缓冲区STARTfilename执行文件@filenameEDITfilename编辑文件SPOOLfilename导出执行结果到文件EXIT40第
本文标题:OracleSQL培训教程(1~4章)
链接地址:https://www.777doc.com/doc-10326 .html