欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第五章结构化查询语言SQL.ppt

    • 资源ID:77695423       资源大小:3.49MB        全文页数:88页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第五章结构化查询语言SQL.ppt

    第五章结构化查询语言SQL现在学习的是第1页,共88页5.1 SQL简介简介SQL是Sturctured Query Language(结构化查询语言)的缩写。SQL包含数据查询、数据定义、数据操纵和数据控制等功能。其中查询是SQL语言的重要组成部分。SQL是关系数据库的标准语言,所有的关系数据库管理系统都支持SQL。现在学习的是第2页,共88页5.1 SQL简介简介SQL语言主要特点:一体化语言高度非过程化语言简洁,易学易用统一的语法格式,不同的工作方式视图数据结构SQL操作的两个基本数据结构对象是:表和视图现在学习的是第3页,共88页5.2 数据查询数据查询格式:格式:SELECT ALL|DISTINCT,FROM ,WHERE AND 连接条件连接条件 AND|OR AND|OR GROUP By ,分组列分组列HAVING UNION ALL ORDER By ASCENDING|DESCENDING,ASCENDING|DESCENDING 现在学习的是第4页,共88页5.2 数据查询数据查询INTO|TO FILE ADDITIVE|TO PRINTER|TO SCREEN|into cursor|into table建议:多多操作!来加深印象!现在学习的是第5页,共88页5.2 数据查询数据查询ALL:在查询结果中包含所有的行(包括重复值)。它是在查询结果中包含所有的行(包括重复值)。它是系统的默认设置。系统的默认设置。DISTINCT:在查询结果中删除重复行在查询结果中删除重复行:当涉及到多表查询时,需要通过别名来区分不同当涉及到多表查询时,需要通过别名来区分不同表文件中的字段。表文件中的字段。:检索项主要是检索项主要是FROM子句中所给出的表文件中的子句中所给出的表文件中的字段名。选中的字段名可以和字段名。选中的字段名可以和SQL函数一起使用。函数一起使用。常用到的函数有:常用到的函数有:平均值函数平均值函数AVG():求一列数据的平均值求一列数据的平均值最小值函数最小值函数MIN():求一列数的最小值求一列数的最小值最大值函数最大值函数MAX():求一列数的最大值求一列数的最大值计数函数计数函数COUNT():求一列中该字段的个数求一列中该字段的个数求和函数求和函数SUM():求一列数的总和求一列数的总和现在学习的是第6页,共88页5.2 数据查询数据查询FROM:form子句也是命令中不可缺少的成分,用于指定数子句也是命令中不可缺少的成分,用于指定数据来源,其后列出所有要查询的表文件名,可以加上相应的据来源,其后列出所有要查询的表文件名,可以加上相应的别名。别名。WHERE:WHERE是命令可选项,其后各子句含义为:是命令可选项,其后各子句含义为:是指多表文件查询的条件;是指多表文件查询的条件;是指单表是指单表文件的查询条件文件的查询条件.现在学习的是第7页,共88页5.2 数据查询数据查询GRONP By短语:短语:将查询结果按某一列将查询结果按某一列(或多个列或多个列)的值进行的值进行分组;分组;HAVING子句:子句:HAVING子句,只与子句,只与GROUP By配合使用,配合使用,用于说明分组条件;用于说明分组条件;UNION ALL :说明将两个查询结果合并在一说明将两个查询结果合并在一起输出;若无起输出;若无ALL,重复记录将被自动取消,若有,重复记录将被自动取消,若有ALL表示表示结果全部合并;结果全部合并;现在学习的是第8页,共88页5.2 数据查询数据查询ORDER By ASC|DESC:ORDER BY子句指定子句指定按哪个字段对查询结果排序按哪个字段对查询结果排序,ASC为升序,为升序,DESC为降序;为降序;现在学习的是第9页,共88页5.2 数据查询数据查询INTO Destination:指定在何处保存查询结果。如果在同指定在何处保存查询结果。如果在同一个查询中同时包含了一个查询中同时包含了INTO子句和子句和TO子句,则子句,则TO子句不起子句不起作用。如果没有包含作用。如果没有包含INTO子句,查询结果显示在子句,查询结果显示在“浏览浏览”窗窗口中。口中。Destination可以是下列三种子句之一可以是下列三种子句之一DBF TableName|TABLE TableName:将查询结果保存到一个表中,如果指定将查询结果保存到一个表中,如果指定的表已经打开,并且的表已经打开,并且SET SAFETY设置设置为为OFF,则,则VFP在不给出任何警告信息在不给出任何警告信息的情况下改写该表。执行完的情况下改写该表。执行完SELECT语语句后,该表仍然保持打开活动状态。句后,该表仍然保持打开活动状态。CURSOR CursorName:将查询结:将查询结果保存到临时表中。如果指定了一果保存到临时表中。如果指定了一个已打开表的名称,则个已打开表的名称,则VFP产生错产生错误信息。执行完误信息。执行完SELECT语句后,语句后,临时表仍然保持打开,但只读。一临时表仍然保持打开,但只读。一旦关闭临时表,则自动删除它。旦关闭临时表,则自动删除它。ARRAY ArrayName:将查询结果保存到数组中。如果查询将查询结果保存到数组中。如果查询结果中不包含任何记录,则不创建这结果中不包含任何记录,则不创建这个数组。个数组。现在学习的是第10页,共88页5.2 数据查询数据查询TO FILE FileName ADDITIVE|TO PRINTER PROMPT|TO SCREEN:如果命令中包含了如果命令中包含了TO子句,但没有包括子句,但没有包括INTO子句,则查询结果定向输出到名为子句,则查询结果定向输出到名为FileName的的ASCII码文件、打印机或主窗口。包含码文件、打印机或主窗口。包含ADDITIVE子句使查询结果子句使查询结果追加到所指定的文本文件的内容后面。追加到所指定的文本文件的内容后面。现在学习的是第11页,共88页5.2.1 简单查询简单查询简单查询基于单个表,由简单查询基于单个表,由select-from构成无条件查询,构成无条件查询,select-from-where构成条件查询构成条件查询无条件查询无条件查询:select-from构成构成1.查询表中部分字段查询表中部分字段例例5.1查询查询student表中学生的学号和姓名表中学生的学号和姓名select 学号学号,姓名姓名 from student例例5.2 查询查询department表中所有的系名表中所有的系名Select 系名系名 from department现在学习的是第12页,共88页5.2.1 简单查询简单查询2.使用使用distinct短语短语例例5.3 列出学生表中的班级名称列出学生表中的班级名称(无重复行无重复行)select distinct 班级班级 from student3.查询表中全部字段查询表中全部字段例例5.4 查询学生表中全部字段查询学生表中全部字段select*from student例例5.5 查询查询course表中的所有元组表中的所有元组Select*from courseDistinct:去掉查询结果中的去掉查询结果中的重复值重复值“*”是通配符是通配符,表示所有字段表示所有字段现在学习的是第13页,共88页5.2.1 简单查询简单查询条件查询:条件查询:select-from-where结构结构4.简单的条件查询简单的条件查询例例5.6 查询查询1992年年9月月1日以后出生的学生名单日以后出生的学生名单Select 姓名姓名 from student where 出生日期出生日期ctod(“09/01/92”)例例5.7 列出选修课的课程名称和课程号列出选修课的课程名称和课程号Select 课程名课程名,课程号课程号 from course where 课程性质课程性质=“选修选修”例例5.8 查询课程号是查询课程号是0600101,成绩大于成绩大于80分的学生学号及成绩分的学生学号及成绩,且将成绩由高到低列出且将成绩由高到低列出Select 学号学号,成绩成绩 from grade where 课程号课程号=“0600101”and 成绩成绩80 order by 成绩成绩 desc现在学习的是第14页,共88页5.2.1 简单查询简单查询4.简单的条件查询简单的条件查询例例5.9 查询查询teacher表中工资多于表中工资多于2200元的职工所在的系号元的职工所在的系号Select distinct 系号 from teacher where 工资2200例例5.10 给出在系号给出在系号“01”或或“02”工作并且工资少于工作并且工资少于3000元的教师编号元的教师编号select 教师编号 from teacher where 工资2200)and(teacher.系号=department.系号)例例5.12找出成绩大于找出成绩大于90分的学生的学号、姓名及成绩。分的学生的学号、姓名及成绩。select student.学号,姓名,成绩 from student,grade where 成绩90 and student.学号=grade.学号或者select s.学号,姓名,成绩 from student s,grade g where 成绩90 and s.学号=g.学号在连接查询中引用两个表的公共字段时,在连接查询中引用两个表的公共字段时,须在公共字段名前添加表名或表别名作须在公共字段名前添加表名或表别名作为前缀,否则系统会提为前缀,否则系统会提示出错。对于只在一个数据表中出现的示出错。对于只在一个数据表中出现的字段,则无须指定前缀。字段,则无须指定前缀。在在select查询的查询的from子句中,可以对数据子句中,可以对数据表指定别名,格式为表指定别名,格式为.,指定别名后,在引用该数据表的字段时,应指定别名后,在引用该数据表的字段时,应以别名作为数据表的前缀。以别名作为数据表的前缀。现在学习的是第17页,共88页5.2.2 简单连接查询简单连接查询1.等值连接等值连接例例5.13 查询上官小梅所学课程的课程名及其对应的成绩查询上官小梅所学课程的课程名及其对应的成绩select 姓名,课程名,成绩 from student s,course c,grade g where 姓名=上官小梅 and s.学号=g.学号 and g.课程号=c.课程号对于对于3个表的连接查询,使用个表的连接查询,使用where子句指子句指定查询条件时,其形式为定查询条件时,其形式为:from,where and 现在学习的是第18页,共88页5.2.2 简单连接查询简单连接查询2.自连接查询:自连接查询:同一关系与自身进行连接同一关系与自身进行连接例例5.14 找出至少选修找出至少选修0200101号课和号课和0600201号课学生的学号课学生的学号号select x.学号学号 from grade x,grade y where x.学号学号=y.学号学号 and x.课程号课程号=0200101 and y.课程号课程号=0600201现在学习的是第19页,共88页5.2.3 嵌套查询嵌套查询在一个select命令的where子句中,如果还出现了另一个select命令,则这种查询称为嵌套查询嵌套查询。Vfp只支持只支持单层单层嵌套查询。嵌套查询。嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系:一般外层查询的条件依赖内层查询的结果,而内层查询与外层查询无关。现在学习的是第20页,共88页5.2.3 嵌套查询嵌套查询例例5.15 查询哪些系至少有一个教师的工资为查询哪些系至少有一个教师的工资为2200元。元。select 系名 from department where 系号 in(select 系号 from teacher where 工资=2200)例例5.16 查询所有教师的工资都多于查询所有教师的工资都多于2200元的系的信息。元的系的信息。select*from department where 系号 not in(select 系号 from teacher where 工资=80 and 成绩成绩1992-01-01As的作用是在查询结果中将指定的作用是在查询结果中将指定列命名为一个新的名称列命名为一个新的名称Count(*)是是count()函数的一种特函数的一种特殊形式,用来统计查询结果的记殊形式,用来统计查询结果的记录个数录个数现在学习的是第29页,共88页5.2.6 简单的计算查询(库函数查询)简单的计算查询(库函数查询)例例5.32 查询查询grade表中成绩的最高分、最低分及平均分。表中成绩的最高分、最低分及平均分。select max(成绩成绩)as 最高分最高分,min(成绩成绩)as 最低分最低分,avg(成成绩绩)as 平均分平均分 from grade例例5.33 查询查询grade表中所有选修课的成绩总和表中所有选修课的成绩总和select sum(成绩成绩)from grade where 课程号课程号 in(select 课课程号程号 from course where 课程性质课程性质=选修选修)现在学习的是第30页,共88页5.2.7 分组与计算查询分组与计算查询GRONP By短语:短语:将查询结果按某一列将查询结果按某一列(或多个列或多个列)的值进行分组;的值进行分组;HAVING子句:子句:HAVING子句,只与子句,只与GROUP By配合使用,用配合使用,用于说明分组条件;于说明分组条件;现在学习的是第31页,共88页5.2.7 分组与计算查询分组与计算查询例例5.34 查询男女生人数查询男女生人数Select 性别性别,count(*)from student group by 性别性别或或Select 性别性别,count(性别性别)from student group by 性别性别例例5.35 求每个系的教师的平均工资求每个系的教师的平均工资select 系号系号,avg(工资工资)from teacher group by 系号系号例例5.36 求至少有两名教师的每个系的平均工资求至少有两名教师的每个系的平均工资select 系号系号,count(*),avg(工资工资)from teacher group by 系号系号 having count(*)=2Count(*)为每一组的记录个数为每一组的记录个数现在学习的是第32页,共88页5.2.7 分组与计算查询分组与计算查询例例5.37 列出各门课的平均成绩、最高成绩、最低成绩和选课列出各门课的平均成绩、最高成绩、最低成绩和选课人数人数select 课程号课程号,AVG(成绩成绩)AS 平均成绩平均成绩,MAX(成绩成绩)AS 最最高分高分,MIN(成绩成绩)AS 最低分最低分,COUNT(学号学号)AS 选课人数选课人数 from grade group by 课程号课程号例例5.38 列出最少选修二门课程的学生姓名列出最少选修二门课程的学生姓名select 姓名姓名 from student where 学号学号 in(select 学号学号 from grade group by 学号学号 having count(*)=2)现在学习的是第33页,共88页5.2.7 分组与计算查询分组与计算查询例例5.39 求出总分大于求出总分大于180的学生的学号的学生的学号,姓名及总成绩姓名及总成绩select s.学号学号,姓名姓名,sum(成绩成绩)as 总成绩总成绩 from student s,grade g where s.学号学号=g.学号学号 group by g.学号学号 having sum(成绩成绩)180现在学习的是第34页,共88页5.2.8 排序排序ORDER By ASC|DESC:指定将查询结果按哪个指定将查询结果按哪个字段排序字段排序,ASC为升序,为升序,DESC为降序;为降序;例例5.40 对学生表按姓名排序对学生表按姓名排序 Select*from student order by 姓名姓名例例5.41 对对teacher表按工资升序检索出全部教师的信息。表按工资升序检索出全部教师的信息。select*from teacher order by 工资工资例例5.42 先按系号排序,再按工资降序排序输出全部教师信息先按系号排序,再按工资降序排序输出全部教师信息select*from teacher order by 系号系号,工资工资 desc现在学习的是第35页,共88页5.2.8 排序排序显示前几项记录:显示前几项记录:有时只需要查找满足条件的前几个记录,这时可使用top短语格式:TOP nExpr PERCENT说明:nExpr为数字表达式,当不使用PERCENT时,nExpr为1至32767间的整数,说明显示前几个记录;当使用PERCENT时,nExpr是0.01至99.99间的实数,说明显示结果中前百分之几的记录。现在学习的是第36页,共88页5.2.8 排序排序例例5.43 显示显示teacher表工资最高的表工资最高的3位教师的信息位教师的信息select*top 3 from teacher order by 工资 desc例例5.44 显示显示teacher表工资最低的那表工资最低的那20%教师的信息教师的信息select*top 20 percent from teacher order by 工资例例5.45 在grade表中查询成绩最高的5位学生的得分情况。select*top 5 from grade order by 成绩 desc例例5.46 在grade表中查询成绩最低的30%学生的得分情况select*top 30 percent from grade order by 成绩top短语必须和短语必须和order by短语配短语配合起来使用才有效,它不能单独合起来使用才有效,它不能单独使用使用现在学习的是第37页,共88页5.2.9 超连接查询超连接查询用where指定的连接条件一般都是等值连接,即只有满足连接条件的记录才会出现在查询结果中。在SQL标准中还支持表的超连接,使用下面的命令:Select From Table1 Inner|Left|Right|Full JoinTable2 On Where 其中,其中,innerinner代表内连接,即普通连接;代表内连接,即普通连接;Left、Right、Full分别代表左连接、右连接和全连接,分别代表左连接、右连接和全连接,Left、Right、Full三种三种连接方式也称为外连接。连接方式也称为外连接。现在学习的是第38页,共88页5.2.9 超连接查询超连接查询INNER JOIN(JOIN),普通连接:普通连接:只有满足连接条件的记录才出现在查询结果中。LIFT JOIN,左连接左连接:在进行连接运算时,首先将满足连接条件的所有元组放在结果关系中,同时将第一个表(或称Join左边的表)中不满足连接条件的元组也放入结果关系中,这些元组对应第二个表(或称Join右边的表)的属性值为空值。现在学习的是第39页,共88页5.2.9 超连接查询超连接查询RIGHT RIGHT JOIN,JOIN,右右连连接接:在进行连接运算时,首先将满足连接条件的所有元组放在结果关系中,同时将第二个表(或称Join右边的表)中不满足连接条件的元组也放入结果关系中,这些元组对应第一个表(或称Join左边的表)的属性值为空值。FULL FULL JOIN,JOIN,全全连连接接:在进行连接运算时,首先将满足连接条件的所有元组放在结果关系中,同时将两个表中不满足连接条件的元组也放入结果关系中,这些元组对应另一个表的属性值为空值。现在学习的是第40页,共88页5.2.9 超连接查询超连接查询例例5.47 普通连接(将普通连接(将teacher表和表和department表的部分字段表的部分字段通过公共的字段通过公共的字段“系号系号”进行连接)进行连接)select d.系号系号,系名系名,教师编号教师编号,教师姓名教师姓名 from Department d,teacher t where d.系号系号=t.系号系号等价于等价于select d.系号系号,系名系名,教师编号教师编号,教师姓名教师姓名 from Department d join teacher t on d.系号系号=t.系号系号等价于等价于select d.系号系号,系名系名,教师编号教师编号,教师姓名教师姓名 from Department d inner join teacher t on d.系号系号=t.系号系号现在学习的是第41页,共88页5.2.9 超连接查询超连接查询例例5.48 左连接左连接select d.系号系号,系名系名,教师编号教师编号,教师姓名教师姓名 from Department d Left join teacher t on d.系号系号=t.系号系号例例5.49 右连接右连接假设假设teacher表插入一条记录表插入一条记录“2006108”,“07”,“刘丽刘丽”,1972-06-24,“副教授副教授”,2500.00select d.系号系号,系名系名,教师编号教师编号,教师姓名教师姓名 from Department d Right join teacher t on d.系号系号=t.系号系号现在学习的是第42页,共88页5.2.9 超连接查询超连接查询例例5.50 全连接全连接select d.系号系号,系名系名,教师编号教师编号,教师姓名教师姓名 from Department d Full join teacher t on d.系号系号=t.系号系号Join 连接格式在连接多个表时的书写方法连接格式在连接多个表时的书写方法要特别注意,在这种格式中要特别注意,在这种格式中join和和on的顺序的顺序很重要,特别要注意很重要,特别要注意join的顺序与的顺序与on的顺序正的顺序正好相反好相反现在学习的是第43页,共88页5.2.10 使用量词和谓词的查询使用量词和谓词的查询格式格式1:比较运算符比较运算符ANYALLSOME(子查询子查询)量词量词:ANY、ALL、SOME,其中ANY与SOME为同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。格式格式2:NOTEXISTS(子查询子查询)谓词:谓词:EXISTS,EXISTS或或NOT EXISTS是用来检查在子查询中是否有结果返是用来检查在子查询中是否有结果返回(即存在元组或不存在元组)回(即存在元组或不存在元组)现在学习的是第44页,共88页5.2.10 使用量词和谓词的查询使用量词和谓词的查询例例5.51 检索那些系中还没有教师的系的信息检索那些系中还没有教师的系的信息。select*from department where not exists(select*from teacher where 系号=department.系号)等价于等价于select*from department where 系号 not in(select 系号 from teacher)例例5.52 检索那些系中至少已经有一个教师的系的信息。检索那些系中至少已经有一个教师的系的信息。select*from department where exists(select*from teacher Where 系号=department.系号)等价于等价于select*from department where 系号 in(select 系号 from teacher)现在学习的是第45页,共88页5.2.10 使用量词和谓词的查询使用量词和谓词的查询例例5.53 查询还没有被学生选修课程的课程号和课程名查询还没有被学生选修课程的课程号和课程名Select 课程号课程号,课程名课程名 from course where not exist(select*from grade where course.课程号课程号=grade.课程号课程号)注意:注意:NOTEXISTS只是只是 判断子查判断子查询中是否有或没有结果返回,它本询中是否有或没有结果返回,它本身并没有任何运算或比较。身并没有任何运算或比较。现在学习的是第46页,共88页5.2.10 使用量词和谓词的查询使用量词和谓词的查询例例5.54 求必修课程号是求必修课程号是0200101的学生中成绩比必修课号的学生中成绩比必修课号是是0600201课的最低成绩要高的学生的学号与成绩课的最低成绩要高的学生的学号与成绩 select 学号学号,成绩成绩 from grade where 课程号课程号=0200101 and 成绩成绩any(select 成绩成绩 from grade where 课程号课程号=0600201)等价于等价于select 学号学号,成绩成绩 from grade where 课程号课程号=0200101 and 成绩成绩(select min(成绩成绩)from grade where 课程号课程号=0600201)现在学习的是第47页,共88页5.2.10 使用量词和谓词的查询使用量词和谓词的查询例例5.55 求必修课程号是求必修课程号是0200101的学生中成绩比必修课号的学生中成绩比必修课号是是0600201课的最高成绩要高的学生的学号与成绩课的最高成绩要高的学生的学号与成绩 select 学号学号,成绩成绩 from grade where 课程号课程号=0200101 and 成绩成绩all(select 成绩成绩 from grade where 课程号课程号=0600201)等价于等价于select 学号学号,成绩成绩 from grade where 课程号课程号=0200101 and 成绩成绩(select max(成绩成绩)from grade where 课程号课程号=0600201)现在学习的是第48页,共88页5.2.11 集合的并运算集合的并运算SQL支持集合的并支持集合的并(UNION)运算,即可以将两个运算,即可以将两个SELECT 语语句的查询结果通过并运算合并成一个查询结果。为了进行并句的查询结果通过并运算合并成一个查询结果。为了进行并运算,要求两个查询结果具有相同的字段个数,并且对应字运算,要求两个查询结果具有相同的字段个数,并且对应字段的值要出自同一个值域。段的值要出自同一个值域。格式:格式:UNION ALL 说明将两个查询结果合并在一起输出;若无说明将两个查询结果合并在一起输出;若无ALL,重复记录将被自,重复记录将被自动取消,若有动取消,若有ALL表示结果全部合并;表示结果全部合并;现在学习的是第49页,共88页5.2.11 集合的并运算集合的并运算例例5.56 以下结果为系名为自动化系和经济系的教师信息以下结果为系名为自动化系和经济系的教师信息select*from teacher where 系号=(select 系号 from department where 系名=自动化系)union;select*from teacher where 系号=(select 系号 from department where 系名=经济系)现在学习的是第50页,共88页5.2.11 集合的并运算集合的并运算例例5.57 以下结果为以下结果为“选修课选修课”和和“必修课必修课”的课程相关信息。的课程相关信息。select 课程名课程名,课程号课程号 from course where 课程性质课程性质=选修选修“Unionselect 课程名课程名,课程号课程号 from course where 课程性质课程性质=“必修必修“现在学习的是第51页,共88页5.2.12 查询结果的输出查询结果的输出查询结果的输出去向查询结果的输出去向 Into Array Into Array Into Cursor Into Cursor Into Dbf|Table Into Dbf|Table To File To File To Printer prompt To Printer promptInto cursor产生的临时表文件产生的临时表文件是只读的是只读的.dbf文件,当查询结束后该临时文件是当文件,当查询结束后该临时文件是当前文件,可像一般的前文件,可像一般的.dbf文件使用,当该临时文文件使用,当该临时文件被关闭后,文件将自动被删除。件被关闭后,文件将自动被删除。执行完执行完into table 后,系统将在默后,系统将在默认路径下建立数据表文件,同时打开该文件,认路径下建立数据表文件,同时打开该文件,并将其设为当前数据表。与临时表文件不同,并将其设为当前数据表。与临时表文件不同,该表文件存放在磁盘上,关闭后不会被自动该表文件存放在磁盘上,关闭后不会被自动删除。删除。To fileadditive可将查询结果保存可将查询结果保存到一个文本文件,文本文件的默认扩展名是到一个文本文件,文本文件的默认扩展名是.txt,若使用,若使用additive可将查询结果追加到原文可将查询结果追加到原文本文件的尾部,否则将覆盖原有文件。本文件的尾部,否则将覆盖原有文件。现在学习的是第52页,共88页5.2.12 查询结果的输出查询结果的输出1.将查询结果存放在数组将查询结果存放在数组例例5.58 将查询到的选修课的课程号和课程名存放在数组将查询到的选修课的课程号和课程名存放在数组xx中。中。select 课程号,课程名 from course where 课程性质=“选修”into array xx?xx(1,1),xx(1,2)?xx(2,1),xx(2,2)现在学习的是第53页,共88页5.2.12 查询结果的输出查询结果的输出2.将查询结果存放到临时表文件将查询结果存放到临时表文件例例5.59 将查询到的选修课的课程号和课程名存放在临时将查询到的选修课的课程号和课程名存放在临时.dbf表表文件文件xx中中。select 课程号,课程名 from course where 课程性质=选修“into cursor xx3.将查询结果存放到永久表文件将查询结果存放到永久表文件例例5.60 将查询到选修课的课程号和课程名存放在永久表文件将查询到选修课的课程号和课程名存放在永久表文件yy中中select 课程号,课程名 from course where 课程性质=“选修“into table yy现在学习的是第54页,共88页5.2.12 查询结果的输出查询结果的输出4.将查询结果存放到文本文件将查询结果存放到文本文件若命令中包含了若命令中包含了to子句,但没有包含子句,但没有包含into子句,则子句,则to子句起子句起作用。作用。例例5.61 将查询到的选修课的课程号和课程名存放在文本文件将查询到的选修课的课程号和课程名存放在文本文件 xx中。中。select 课程号课程号,课程名课程名 from course where 课程性质课程性质=选修选修 to file xx5.将查询结果直接输出到打印机将查询结果直接输出到打印机使用子句使用子句to printerprompt可以直接将查询结果输出到打印可以直接将查询结果输出到打印机,若使用了机,若使用了prompt选项,则在打印之前还会打开打印机设选项,则在打印之前还会打开打印机设置对话框。置对话框。现在学习的是第55页,共88页5.3 数据操作数据操作SQL的数据操作功能是指对数据库中的数据进行操作的功能,主要包括数据的插入、数据的更新和数据的删除,对应的SQL命令动词分别是INSERT、UPDATE和DELETE。现在学习的是第56页,共88页5.3.1.插入数据插入数据格式格式1:INSERT INTO(,)VALUES(,)功能:功能:向指定的数据表尾部插入一条记录,并用指定的表达式对字段赋值。向指定的数据表尾部插入一条记录,并用指定的表达式对字段赋值。说明:说明:当对新记录的所有字段都赋值时,可省略字段名。若只对某些字当对新记录的所有字段都赋值时,可省略字段名。若只对某些字段赋值,即插入的不是完整的记录时,则需要指定要赋值的字段段赋值,即插入的不是完整的记录时,则需要指定要赋值的字段名称。名称。VALUES子句中各个表达式的值为赋给每个字段的值,表达式和子句中各个表达式的值为赋给每个字段的值,表达式和对应字段的数据类型、取值范围必须一致。对应字段的数据类型、取值范围必须一致。现在学习的是第57页,共88页5.3.1.插入数据插入数据例例5.62 在course表中插入记录。Insert into course values(“0600010”,”,48,3,”选修”)&在course表中插入记录,课程号为“0600010”,课程名为空,学时为48,学分为3,课程性质为“选修”Insert into course(课程号,课程名)values(“0600020”,”信息资源管理“)&在course表中插入记录,课程号为“0600020”,课程名为”信息资源管理“现在学习的是第58页,共88页5.3.1.插入数据插入数据格式格式2:Insert Into From Array|MEMVAR功能:功能:向指定的数据表插入一条新记录,插入新记录的字段值来自于数组元素或内存变量。例例5.63 输输入以下命令并入以下命令并查查看看输输出出结结果。果。dimension b(4)b(1)=“2012052101b(2)=张珊 b(3)=女 b(4)=.null.insert into student from array b现在学习的是第59页,共88页5.3.1.插入数据插入数据例例5.64 输输入以下命令并入以下命令并查查看看输输出出结结果。果。学号=“2012052102“姓名=黎明“性别=男“出生日期=1986-09-10insert into student from memvar现在学习的是第60页,共88页5.3.2.更新数据更新数据格式:格式:UPDATE SET=WHERE 功能:功能:对于指定表中满足条件的记录,用指定的表达式的值来对于指定表中满足条件的记录,用指定的表达式的值来更新指定的字段。更新指定的字段。注意:注意:update-sql只能在单一的表中更新记录。只能在单一的表中更新记录。现在学习的是第61页,共88页5.3.2.更新数据更新数据例例5.65 将course表中所有选修课的学时增加5个学时。Update course set 学时=学时+5 where 课程性质=”选修“现在学习的是第62页,共88页5.3.3 删除数据删除数据格式:格式:DELETE FROM WHERE 功能:功能:对于指定数据表中满足条件的记录进行逻辑删除。对于指定数据表中满足条件的记录进行逻辑删除。说明:说明:where用来指定删除的条件,若不使用用来指定删除的条件,若不使用where子句,子句,则逻辑删除表中的全部记录。则逻辑删除表中的全部记录。现在学习的是第63页,共88页5.3.3 删除数据删除数据例例5.66 逻辑删除逻辑删除course表中课程性质为选修的记录。表中课程性质为选修的记录。Delete from course where 课程性质课程性质=“选修选修”现在学习的是第64页,共88页5.4 数据定义数据定义SQL的数据定义功能主要包括数据库、表、视图、存储过程、规则和索引等对象的定义。本节主要介绍使用CREATE TABLE命令建立数据表结构,使用ALTER TABLE命令修改数据表结构以及使用DROP TABLE命令删除数据表。现在学习的是第65页,共88页5.4.1 表的定义表的定义SQL语言提供的定义表的命令是Cre

    注意事项

    本文(第五章结构化查询语言SQL.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开