SQL数据库基础培训.ppt
《SQL数据库基础培训.ppt》由会员分享,可在线阅读,更多相关《SQL数据库基础培训.ppt(205页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院第1章 安装1 1.1 ORACLE.1 ORACLE数据库安装数据库安装1.2 P1.2 PL/SQLL/SQL工具安装工具安装,默认下一步即可默认下一步即可.1 1.3.3 配置本机配置本机tnsname.oratnsname.ora文件文件1 1.4.4 测试测试tnsname.oratnsname.ora配置是否正确配置是否正确1.5 PL/SQL1.5 PL/SQL登录登录中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院第2章 SQL基础2.1 数据库查询语言数据库
2、查询语言SQL2.2 基本查询和排序基本查询和排序2.3 条件查询条件查询 2.4 函数函数 2.5 高级查询高级查询2.6 阶段训练阶段训练2.7 练习练习中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院2.1 数据库查询语言SQL2.1.1 SQL语言的特点和分类语言的特点和分类SQL语言有以下的主要特点:语言有以下的主要特点:*SQL语语言言可可以以在在Oracle数数据据库库中中创创建建、存存储储、更更新新、检检索索和和维维护护数数据据,其其中中主主要要的的功功能能是是实实现现数数据据的的查查询询和和数数据据的的插插入入、删除、修改等操作。删除、修改
3、等操作。*SQL语语言言在在书书写写上上类类似似于于英英文文,简简洁洁清清晰晰,易易于于理理解解。它它由关键字、表名、字段名,表达式等部分构成。由关键字、表名、字段名,表达式等部分构成。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院*SQL语言属于非过程化的语言属于非过程化的4GL(第四代语言第四代语言)。*SQL语语言言按按功功能能可可分分为为DDL语语言言、DML语语言言、DCL语语言言和数据库事务处理语言四个类别。和数据库事务处理语言四个类别。*SQL语语言言的的主主要要关关键键字字有有:ALTER、DROP、REVOKE、AUDIT、GRANT、R
4、OLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、DELETE、RENAME等。等。按按照照SQL语语言言的的不不同同功功用用,可可以以进进一一步步对对SQL语语言言进进行行划分。下表给出了划分。下表给出了SQL语言的分类和功能简介。语言的分类和功能简介。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院表2-1 SQL语言的分类中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院2.1.2 SQL的基本语法的基本语法SQL语语言言的
5、的语语法法比比较较简简单单,类类似似于于书书写写英英文文的的语语句句。其其语语句句一一般般由由主主句句和和若若干干个个从从句句组组成成,主主句句和和从从句句都都由由关关键键字字引引导导。主主句句表表示示该该语语句句的的主主要要功功能能,从从句句表表示示一一些些条条件件或或限限定定,有有些些从从句句是是可可以以省省略略的的。在在语语句句中中会会引引用用到到列列名名、表表名名或或表表达达式式。另另外外还还有如下一些说明:有如下一些说明:*关关键键字字、字字段段名名、表表名名等等之之间间都都要要用用空空格格或或逗逗号号等等进进行行必必要的分隔。要的分隔。*语句的大小写不敏感语句的大小写不敏感(查询的
6、内容除外查询的内容除外)。*语句可以写在一行或多行。语句可以写在一行或多行。*语句中的关键字不能略写和分开写在两行。语句中的关键字不能略写和分开写在两行。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院*要在每条要在每条SQL语句的结束处添加语句的结束处添加“;”号。号。*为了提高可读性,可以使用缩进。为了提高可读性,可以使用缩进。*从句一般写在另一行的开始处。从句一般写在另一行的开始处。查查询询语语句句是是最最常常见见的的SQL语语句句,它它从从给给定定的的表表中中,把把满满足条件的内容检索出来。以下是最基本的足条件的内容检索出来。以下是最基本的SELEC
7、T语句语法。语句语法。SELECT 字段名列表字段名列表 FROM 表名表名 WHERE 条件条件;SELECT为为查查询询语语句句的的关关键键字字,后后跟跟要要查查询询的的字字段段名名列列表表,字段名列表用来指定检索特定的字段,该关键字不能省略。字段名列表用来指定检索特定的字段,该关键字不能省略。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院字段名列表代表要查询的字段。字段名列表代表要查询的字段。FROM 也也是是查查询询语语句句关关键键字字,后后面面跟跟要要查查询询的的表表名名,该该关键字不能省略。关键字不能省略。WHERE条条件件限限定定检检索索特特
8、定定的的记记录录,满满足足“条条件件”的的记记录被显示出来,不满足条件的被过滤掉。录被显示出来,不满足条件的被过滤掉。语语句句查查询询的的结结果果往往往往是是表表的的一一部部分分行行和和列列。如如果果字字段段名名列列表表使使用用*,将将检检索索全全部部的的字字段段。如如果果省省略略WHERE条条件件,将检索全部的记录。将检索全部的记录。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【训练训练1】查询部门查询部门10的雇员。的雇员。输入并执行查询:输入并执行查询:SELECT*FROM emp WHERE deptno=10;结果略。结果略。说说明明:该该查
9、查询询语语句句从从emp表表中中检检索索出出部部门门10 的的雇雇员员,条件由条件由WHERE deptno=10 子句指定。子句指定。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院2.2 基本查询和排序2.2.1 查询的基本用法查询的基本用法在在Oracle数数据据库库中中,对对象象是是属属于于模模式式的的,每每个个账账户户对对应应一一个个模模式式,模模式式的的名名称称就就是是账账户户名名称称。在在表表名名前前面面要要添添加加模模式式的的名名字字,在在表表的的模模式式名名和和表表名名之之间间用用“.”分分隔隔。我我们们以以不不同同的的账账户户登登录录数数
10、据据库库时时,就就进进入入了了不不同同的的模模式式,比比如如登登录录到到STUDENT 账账户户,就就进进入入了了STUDENT模模式式。而而在在STUDENT模模式式要要查查询询属属于于SCOTT模式的表,就需要写成:模式的表,就需要写成:SELECT*FROM SCOTT.EMP;中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院但但如如果果登登录录用用户户访访问问属属于于用用户户模模式式本本身身的的表表,那那么么可可以省略表名前面的模式名称。以省略表名前面的模式名称。SELECT*FROM emp;1指定检索字段指定检索字段下面的练习,只显示表的指定字段
11、。下面的练习,只显示表的指定字段。【训练训练1】显示显示DEPT表的指定字段的查询。表的指定字段的查询。输入并执行查询:输入并执行查询:SELECT deptno,dname FROM dept;中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院显示结果如下:显示结果如下:DEPTNO DNAME-10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS说说明明:结结果果只只包包含含2列列deptno和和dname。在在语语句句中中给给出出要要显显示示的的列列名名,列列名名之之间间用用“,”分分隔隔。表表头头的的显显示示
12、默默认认为为全全部部大大写写。对对于于日日期期和和数数值值型型数数据据,右右对对齐齐显显示示,如如deptno列列。对对于于字字符符型型数据,左对齐显示,如数据,左对齐显示,如dname列。列。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【练习练习1】显示显示emp表的雇员名称和工资。表的雇员名称和工资。2显示行号显示行号每每个个表表都都有有一一个个虚虚列列ROWNUM,它它用用来来显显示示结结果果中中记记录的行号。我们在查询中也可以显示这个列。录的行号。我们在查询中也可以显示这个列。【训练训练2】显示显示EMP表的行号。表的行号。输入并执行查询:输入并
13、执行查询:SELECT rownum,ename FROM emp;中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院结果如下:结果如下:ROWNUM ENAME-1 SMITH 2 ALLEN 3 WARD 4 JONES 注注意意:显显示示的的行行号号是是查查询询结结果果的的行行号号,数数据据在在数数据据库库中是没有行号的。中是没有行号的。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院3显示计算列显示计算列在在查查询询语语句句中中可可以以有有算算术术表表达达式式,它它将将形形成成一一个个新新列列,用用于于显显示示计计算
14、算的的结结果果,通通常常称称为为计计算算列列。表表达达式式中中可可以以包包含含列列名名、算算术术运运算算符符和和括括号号。括括号号用用来来改改变变运运算算的的优优先先次次序。常用的算术运算符包括:序。常用的算术运算符包括:*+:加法运算符。:加法运算符。*-:减法运算符。:减法运算符。*:乘法运算符。:乘法运算符。*/:除法运算符。:除法运算符。以下训练在查询中使用了计算列。以下训练在查询中使用了计算列。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【训练训练3】显示雇员工资上浮显示雇员工资上浮20%的结果。的结果。输入并执行查询输入并执行查询:SELEC
15、T ename,sal,sal*(1+20/100)FROM emp;显示结果为:显示结果为:ENAME SAL SAL*(1+20/100)-SMITH 800 960ALLEN 1600 1920说说明明:结结果果中中共共显显示示了了3列列,第第3列列显显示示工工资资上上浮浮20%的的结结果果,它不是表中存在的列,而是计算产生的结果,称为计算列。它不是表中存在的列,而是计算产生的结果,称为计算列。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【练习练习2】显示显示EMP表的雇员名称以及工资和津贴的和。表的雇员名称以及工资和津贴的和。4使用别名使用别名我
16、我们们可可以以为为表表的的列列起起一一个个别别名名,它它的的好好处处是是,可可以以改改变变表表头头的的显显示示。特特别别是是对对于于计计算算列列,可可以以为为它它起起一一个个简简单单的的列列别别名名以以代代替替计计算表达式在表头的显示。算表达式在表头的显示。【训练训练4】在查询中使用列别名。在查询中使用列别名。输入并执行:输入并执行:SELECT ename AS 名称名称,sal 工资工资 FROM emp;显示结果为:显示结果为:名称名称 工资工资-SMITH 800ALLEN 1600中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院说说明明:表表头头显
17、显示示的的是是列列别别名名,转转换换为为汉汉字字显显示示。在在列列名名和和别别名名之之间间要要用用AS分分隔隔,如如ename和和它它的的别别名名“名名称称”之之间间用用AS隔隔开开。AS也也可可以以省省略略,如如sal和和它它的的别别名名“工工资资”之之间用空格分割。间用空格分割。注注意意:如如果果用用空空格格分分割割,要要区区别别好好列列名名和和别别名名,前前面面为列名,后面是别名。为列名,后面是别名。别名如果含有空格或特殊字符或大小写敏感,需要使别名如果含有空格或特殊字符或大小写敏感,需要使用双引号将它引起来。用双引号将它引起来。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划
18、设计院广东省电信规划设计院【训练训练5】在列别名上使用双引号。在列别名上使用双引号。输入并执行查询:输入并执行查询:SELECT ename AS Name,sal*12+5000 AS 年年度度工工资资(加加年终奖年终奖)FROM emp;显示结果为:显示结果为:Name 年度工资年度工资(加年终奖加年终奖)-SMITH 14600ALLEN 24200 中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院说说明明:其其中中别别名名“Name”有有大大小小写写的的区区别别,别别名名“年年度度工工资资(加加年年终终奖奖)”中中出出现现括括号号,属属于于特特殊殊符
19、符号号,所所以以都都需需要使用双引号将别名引起。要使用双引号将别名引起。【练练习习3】显显示示DEPT表表的的内内容容,使使用用别别名名将将表表头头转转换换成成中文显示。中文显示。5连接运算符连接运算符在在前前面面,我我们们使使用用到到了了包包含含数数值值运运算算的的计计算算列列,显显示示结结果果也也是是数数值值型型的的。我我们们也也可可以以使使用用字字符符型型的的计计算算列列,方方法法是是在在查查询询中中使使用用连连接接运运算算。连连接接运运算算符符是是双双竖竖线线“|”。通过连接运算可以将两个字符串连接在一起。通过连接运算可以将两个字符串连接在一起。中国电信广东公司中国电信广东公司综合部综
20、合部广东省电信规划设计院广东省电信规划设计院【训练训练6】在查询中使用连接运算。在查询中使用连接运算。输入并执行查询:输入并执行查询:SELECT ename|job AS 雇员和职务表雇员和职务表 FROM emp;输出结果为:输出结果为:雇员和职务表雇员和职务表-SMITHCLERKALLENSALESMAN中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院说说明明:在在本本例例中中,雇雇员员名名称称和和职职务务列列被被连连接接成成为为一一个个列显示。列显示。在在查查询询中中可可以以使使用用字字符符和和日日期期的的常常量量,表表示示固固定定的的字字符符串串
21、或或固固定定日日期期。字字符符和和日日期期的的常常量量需需要要用用单单引引号号引引起起。下一个训练是作为上一个训练的改进。下一个训练是作为上一个训练的改进。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【训练训练7】在查询中使用字符串常量。在查询中使用字符串常量。输入并执行查询:输入并执行查询:SELECTename|IS|job AS 雇雇员员和和职职务务表表 FROM emp;输出结果为:输出结果为:雇员和职务表雇员和职务表-SMITH IS CLERKALLEN IS SALESMAN说明:本练习中将雇员名称、字符串常量说明:本练习中将雇员名称、字符
22、串常量“IS”和雇员和雇员职务职务3个部分连接在一起。个部分连接在一起。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【练习练习4】显示显示DEPT表的内容,按以下的形式表的内容,按以下的形式:部门部门ACCOUNTING所在的城市为所在的城市为NEW YORK 6消除重复行消除重复行如如果果在在显显示示结结果果中中存存在在重重复复行行,可可以以使使用用的的关关键键字字DISTINCT消除重复显示。消除重复显示。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院【训练训练8】使用使用DISTINCT消除重复行显示。消除重复
23、行显示。输入并执行查询:输入并执行查询:SELECT DISTINCT job FROM emp;结果为:结果为:JOB-ANALYSTCLERKMANAGERPRESIDENTSALESMAN中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院说说明明:在在本本例例中中,如如果果不不使使用用DISTINCT关关键键字字,将将重重复复显显示示雇雇员员职职务务,DISTINCT关关键键字字要要紧紧跟跟在在SELECT之之后后。请请去去掉掉DISTINCT关键字,重新执行,并观察显示结果的不同。关键字,重新执行,并观察显示结果的不同。【练习练习5】显示显示EMP表中
24、不同的部门编号。表中不同的部门编号。2.2.2 查询结果的排序查询结果的排序如果要在查询的同时排序显示结果,可以使用如下的语句:如果要在查询的同时排序显示结果,可以使用如下的语句:SELECT 字段列表字段列表 FROM 表名表名 WHERE 条件条件ORDER BY 字段名字段名1 ASC|DESC,字段名字段名2 ASC|DESC.;中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院ORDER BY从从句句后后跟跟要要排排序序的的列列。ORDER BY 从从句句出出现现在在SELECT语句的最后。语句的最后。排排序序有有升升序序和和降降序序之之分分,ASC
25、表表示示升升序序排排序序,DESC表表示示降降序序排排序序。如如果果不不指指明明排排序序顺顺序序,默默认认的的排排序序顺顺序序为为升升序序。如果要降序,必须书写如果要降序,必须书写DESC关键字。关键字。中国电信广东公司中国电信广东公司综合部综合部广东省电信规划设计院广东省电信规划设计院1升序排序升序排序【训练训练1】查询雇员姓名和工资,并按工资从小到大排序。查询雇员姓名和工资,并按工资从小到大排序。输入并执行查询:输入并执行查询:SELECT ename,sal FROM emp ORDER BY sal;执行结果为:执行结果为:ENAME SAL-SMITH 800JAMES 950注意:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 基础 培训
限制150内