授课教案26866.pdf
网页设计与制作 课程授课教案 课次 19 授课方式(请打)理论课 讨论课 实验课 习题课 其他 课时 安排 2 授课题目(教学章、节或主题):第五章:数据库编程基础 SQL 语言概述 教学目的、要求(分掌握、熟悉、了解三个层次):1.了解 SQL 语句 5 个种类 2.熟悉 DQL 和 DML 3.掌握 Select、Insert、Update 和 Delete 语句句型 4.了解聚合函数 5.了解分组查询句型 教学重点及难点:1.Select、Insert、Update 和 Delete 语句句型 2.聚合函数的应用 3.分组查询的应用 教 学 基 本 内 容 方法及手段 各种关系型数据库都支持 SQL 指令。SQL 语句划分为 5 类:DDL:Data Definition Language,数据定义语言,如 Create Table 等。DQL:Data Query Language,数据查询语言,如 Select 语句。DML:Data Manipulation Language,数据操纵语言,如 Insert、Update 和 Delete 等。TCL:Transact Control Language,事务控制语言,如 Commit、Rollback 等命令。DCL:Data Control Language,数据控制语言,如 Grant、Revoke 等命令。基本 SQL 语句 包括 DQL 和 DML,也就是对数据库最常用的四大基本操作:查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)。的 3 种基本格式 (1)基本句型一:最简单的 SELECT 语句?SELECT?字段名?FROM?数据表 句型 SELECT?*?FROM grade 功能 取出 grade 表中的 所有字段 句型 SELECT 学号,姓名?FROM grade 功能 取出 grade 表中的学号、姓名字段 句型 SELECT 学号,姓名,语文数学英语 as 总成绩 FROM grade 功能 取出 grade 表中的学号、姓名字段,并将语句、数学和英语成绩相加产生虚拟列总成绩?多媒体讲解,举例讲解 教 学 基 本 内 容 方法及手段 (2)基本句型二:使用条件查询?SELECT?字段名?FROM?数据表?WHERE 筛选条件 句型 SELECT?*?FROM grade?WHERE?数学60 功能 查询 grade 表数学成绩大于 60 的记录 句型 SELECT?*?FROM grade?WHERE 数学300 OR 语文300 功能 查询 grade 表数学成绩等于 300 或者语文成绩等于 300?的记录 句型 SELECT?*?FROM grade?WHERE 姓名 Like?江%功能 取出 grade 表姓名字段的第一个字符是“江”的记录 句型 SELECT?*?FROM grade?WHERE 姓名 Like?江_ 功能 取出 grade 表姓名字段的是两个字符的,且第一个字符是“江”的记录?(3)基本句型三:进行排序?SELECT?字段名?FROM?数据表?ORDER?BY?字段名 句型 SELECT?*?FROM grade?ORDER?BY?数学 功能 从 grade 表中取出所有字段,并按数学成绩排序(从低到高)句型 SELECT?*?FROM grade?ORDER?BY?数学 desc 功能 从 grade 表中取出所有字段,并按数学成绩排序(从高到低)句型 SELECT?TOP 5*?FROM grade 功能 取出 grade 表中取出前 5 条记录的所有字段 的 3 种基本格式?包括数据添加(INSERT INTO)、数据修改(UPDATE)和数据删除(DELETE)(1)DELETE 指令:删除数据记录?DELETE?FROM?数据表?WHERE?条件 句型 DELETE?FROM?grade?WHERE?数学 0 功能 删除所有数学成绩为 0 的记录?(2)UPDATE?指令:更新数据记录?UPDATE?数据表?SET?字段值新值?WHERE?条件 句型 UPDATE?grade?SET?数学 数学+10 功能 将 grade 表中的所有记录的成绩加 10 分。句型 UPDATE?grade?SET?数学 100?WHERE?姓名 like?%敏%功能 将 grade 表中的姓名字段中含“敏”的记录的数学成绩改为 100 分。(3)INSERT?INTO?指令:添加数据记录(其中 INTO 可以省略)?INSERT?INTO?数据表?VALUES(字段新值)?INSERT?INTO?数据表(字段 1,字段 2,)?VALUES(字段新值)句型 INSERT?INTO?grade?VALUES(5678,周润发,70,80,90)功能 添加记录到 grade 表中的所有字段,其各个字段值为:5678,周润发,70,80,90 句型 INSERT?INTO?grade(学号,姓名,数学)?VALUES(1234,周润发,70)功能 添加记录到 grade 表中的学号、姓名和数学成绩字段,其学号字段值为:5678;姓名字段值为:周润发;数学成绩字段值为:70。与句型一对比讲解 与前两种句型对比讲解 举例讲解,多媒体讲解 教 学 基 本 内 容 方法及手段 聚合函数 (1)SUM 函数?功能是算出某个字段的总值?句型 SELECT?SUM(数学)?AS?Total FROM?grade 功能 求出所有学生数学成绩的总和,这个数值的列名为 Total。?(2)AVG 函数?功能是算出某个字段的平均值?句型 SELECT?AVG(数学)?AS?Average FROM?grade?功能 求出所有学生数学成绩的平均分,这个数值的列名为 Average。?(3)COUNT 函数?功能是返回记录的行数?句型 SELECT?COUNT(*)?AS?Counts?FROM grade?功能 求出满足条件的记录总数,这个数值的列名为 Counts。?(4)MAX 函数?功能是计算某个字段的最大值?句型 SELECT?MAX(数学)?AS?First?FROM grade?功能 求出所有学生数学成绩的最高分,这个数值的列名为 First。?(5)MIN 函数?功能是计算某个字段的最小值?句型 SELECT?MIN(数学)?AS?Last FROM grade?功能 求出所有学生数学成绩的最低分,这个数值的列名为 Last。分组查询 以下两条语句的功能是计算所有男生的数学平均成绩,?显示出来的列名为:性别和平均分。SELECT?性别,AVG(数学)?AS?平均分?FROM?grade?GROUP BY?性别?HAVING 性别男 SELECT?性别,AVG(数学)?AS?平均分?FROM?grade?WHERE?性别男?GROUP BY 性别 使用分组查询需要注意的四点:WHERE 子句必须放在 GROUP BY 子句之前。HAVING 子句中只能包含分组字段或者聚合函数。SELECT 语句选择的列只能是分组字段或者聚合函数。HAVING 语句放在 GROUP BY 子句之后。多媒体讲解,举例讲解 多媒体讲解,对比讲解,举例讲解 上机步骤:1.启动 Microsoft Access,打开数据库文件,在对象列表中选择“查询”。2.双击“在设计视图中创建查询”,关闭“添加表”对话框,切换到“SQL 视图”。3.参考课件上各种句型,在 SQL 视图中输入,然后点击运行按钮,查看结果。