




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章面向对象(上)项目名称项目3“天意书屋”数据库中数据的查询计划学时16学时内容导览在前面项目的学习中,我们已经学会了编辑和维护数据表中的数据。那接下来,要进行数据查询。数据查询是MySQL数据库管理系统中的一个最重要的功能,它不仅可以将数据库中的数据查询出来,还可以根据特定条件对数据进行筛选,并确定查询结果的显示形式。数据查询可以分为单表查询和多表查询两大类,它们在实际项目中的应用非常广泛。本项目将针对MySQL数据库中单表查询和多表查询进行详细讲解。教学目标1.了解单表查询和多表查询的概念、应用领域。2.掌握单表查询的方法。3.掌握多表查询的方法。教学重点1.单表查询:简单查询、条件查询、模糊查询、排序查询、分组查询。2.多表查询:内连接查询、外连接查询、交叉连接查询、联合查询、子查询。教学难点1.单表查询:条件查询、分组查询。2.多表查询:内连接查询、子查询。教学过程第1-2学时(简单查询和条件查询)知识目标:了解查询的概念,掌握SELECT语句、修改查询结果中列的标题、在查询结果中显示字符串的简单查询方法,掌握WHERE子句的条件查询方法。能力目标:具备简单查询和条件查询的能力。素质目标:善于思考,准确查找,提高效率。一、温故知新,情境导入1.回顾项目二中编辑和维护数据表的相关知识,引出本节内容:简单查询和条件查询。2.动画引入简单查询和条件查询,了解学习内容。二、知识讲解,实操演示1.查询的概念数据查询是MySQL数据库的核心内容之一,它是在数据集中查找到满足给定条件的数据。单表查询就是从一张数据表中查询所需要的数据,通过MySQL中的查询语句SELECT实现。2.SELECT语句(1)查询所有列语法格式:SELECT*FROM表名;(2)查询指定列语法格式:SELECT列名1,列名2,...,列名nFROM表名(3)使用DISTINCT消除重复行语法格式:SELECTDISTINCT列名FROM表名;3.修改查询结果中列的标题如果希望查询结果中的某些列或者所有列显示时使用自定义的列标题,可以对列名起别名,使用别名的目的是在查询结果中隐藏列的名称,从而增加查询结果的可读性。(1)采用空格方法语法格式:SELECT列名空格别名FROM表名;(2)使用AS关键字语法格式:SELECT列名AS别名FROM表名;4.在查询结果中显示字符串在MySQL的查询结果中,有时候需要增加一些字符串,可以将要添加的字符串用单引号或双引号括起来,和列名放在一起,用逗号隔开使用。语法格式:SELECT列名字符串FROM表名;5.使用WHERE子句限制查询条件在对数据库查询时,用户只需要显示满足某些条件的数据,此时可以使用WHERE子句指定查询条件。语法格式:SELECT*|列名1[,列名2,…,列名n]FROM表名WHERE条件表达式;(1)比较运算符语法格式:WHERE表达式1比较运算符表达式2;比较运算符:常用的包括=(等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、<>(不等于)和!=(不等于)。(2)逻辑运算符语法格式:WHERE[NOT]表达式1逻辑运算符表达式2;逻辑运算符:常用的包括AND(与)、OR(或)和NOT(非)。AND:连接的所有条件均成立时,返回结果集。OR:连接的条件中任意一个成立时,返回结果集。NOT:条件不成立时,返回结果集。(3)区域范围运算符语法格式:WHERE表达式[NOT]BETWEEN初始值AND终止值;区域运算符:常用的包括BETWEENAND和NOTBETWEENAND。BETWEENAND:在指定范围内时,返回结果集。NOTBETWEENAND:不在指定范围内时,返回结果集。(4)列表运算符语法格式:WHERE表达式[NOT]IN(值1,值2,...,值N);列表运算符:常用的包括IN和NOTIN。IN:在指定集合的列表值范围内时,返回结果集。NOTIN:不在指定集合的列表值范围内时,返回结果集。(5)空运算符语法格式:WHERE表达式IS[NOT]NULL;空运算符:常用的包括ISNULL和ISNOTNULL。ISNULL:查询字段值为NULL,返回结果集。ISNOTNULL:查询字段值不为NULL,返回结果集。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第3-4学时(模糊查询和排序查询)知识目标:掌握模糊查询、排序查询和限定查询结果数量的方法。能力目标:具备模糊查询和排序查询的能力。素质目标:按照轻重缓急,高效完成工作任务。一、温故知新,情境导入1.回顾上节课学习的简单查询和条件查询,引出本节的内容:模糊查询和排序查询。2.动画引入模糊查询和排序查询,明确学习目标。二、知识讲解,实操演示1.使用LIKE实现模糊查询语法格式:SELECT列名FROM表名WHERE列名LIKE要匹配的字符;LIKE通常与通配符配合使用,常用的通配符如下表3-1所示。表3-1通配符通配符说明示例%%任意长度的字符串s%:表示查询以s开头的任意字符串,如small%s:表示查询以s结尾的任意字符串,如address%s%:表示查询包含s的任意字符串,如super、course__任意单个字符_s:表示查询以s结尾且长度为2的字符串,如ass_:表示查询以s开头且长度为2的字符串,如sa2.ORDERBY对查询结果排序语法格式:SELECT列名FROM表名WHERE查询条件ORDERBY字段名表达式[ASC|DESC];ORDERBY:将查询结果按照指定顺序排序。字段名表达式:可以是一个字段也可以是多个字段,当有多个字段时,各个字段之间使用逗号隔开。ASC:关键字,表示按照升序排序。DESC:关键字,表示按照降序排序。如果没有ASC或者DESC,默认按照升序排序。3.限定查询结果的数量在实际应用中,数据库中的数据量通常是很大的,一般不会一次性的将所有数据查询出来,此时就需要使用LIMIT关键字来限定查询结果的数量。语法格式:SELECT列名FROM表名LIMIT[OFFSET,]记录数;OFFSET:表示起始位置,为可选项,当不设置值时默认为0。如果起始位置为0,则从查询结果的第一条记录开始,起始位置为1时则从查询结果的第二条记录开始,依次类推。记录数:表示显示的总记录数。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第5-6学时(分组查询)知识目标:掌握对查询结果进行计算和分组查询的方法。能力目标:具备分组查询的能力。素质目标:学会归纳,提高效率。一、温故知新,情境导入1.回顾上节课学习的模糊查询和排序查询,引出本节的内容:分组查询。2.动画引入分组查询,明确学习目标。二、知识讲解,实操演示1.对查询结果进行计算(1)列计算使用SELECT语句对列进行查询时,在结果中可以输出完成列值计算后的值,即SELECT子句可使用表达式作为结果。(2)聚合函数COUNT()函数——计数函数语法格式:SELECTCOUNT(*|列名)FROM表名WHERE查询条件;SUM()函数——求和函数语法格式:SELECTSUM(列名)FROM表名WHERE查询条件;AVG()函数——求平均值函数语法格式:SELECTAVG(列名)FROM表名WHERE查询条件;MAX()函数——求最大值函数语法格式:SELECTMAX(列名)FROM表名WHERE查询条件; MIN()函数——求最小值函数语法格式:SELECTMIN(列名)FROM表名WHERE查询条件;GROUP_CONCAT()函数——求字符串连接函数语法格式:SELECTGROUP_CONCAT(列名)FROM表名WHERE查询条件2.分组查询语法格式:SELECT列名,聚合函数FROM表名GROUPBY列名[HAVING查询条件];GROUPBY:表示将查询结果按照某个或多个字段进行分组。工作原理:按照一定规则将一个数据集合划分成若干个小的区域,然后针对这些区域的数据进行处理。(1)简单分组查询GROUPBY通常与聚合函数一起使用,便于统计数据。(2)使用HAVING过滤分组后的数据GROUPBY和HAVING一起使用,用来指定只有满足条件的分组才会被显示。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第7-8学时(内连接查询)知识目标:掌握内连接查询的方法。能力目标:具备内连接查询的能力。素质目标:团队合作。一、温故知新,情境导入1.回顾上节课学习的分组查询,引出本节的内容:内连接查询。2.动画引入内连接查询,明确学习目标。二、知识讲解,实操演示1.内连接查询内连接查询(INNERJOIN)是多表查询中最常用的操作。内连接查询使用比较运算符比较两个表共有的字段列,返回与连接条件匹配的记录行。在关系型数据库系统中,当两个表之间进行内连接查询时,通常由两个表的共同字段作为连接条件。语法格式:SELECT字段列表FROM表1[INNER]JOIN表2ON连接条件[WHERE查询条件][ORDERBY排序表达式[ASC|DESC]];(1)等值连接等值连接使用比较运算符“=”连接比较的列,将列值相等的所有数据显示出来,包括重复列。(2)非等值连接非等值连接使用除等号之外的比较运算符,如“>”、“>=”、“<”、“<=”、“<>”和“!=”。(3)自连接内连接查询中有一种特殊的查询,称为自连接查询,它是指连接查询中涉及的两张表在物理上是同一张表,但逻辑上可以看成两张表。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第9-10学时(外连接查询)知识目标:掌握左外连接查询和右外连接查询的方法。能力目标:具备外连接查询的能力。素质目标:团队合作。一、温故知新,情境导入1.回顾上节课学习的内连接查询,引出本节的内容:外连接查询。2.动画引入外连接查询,明确学习目标。二、知识讲解,实操演示1.外连接查询内连接查询只返回符合连接条件的记录,不满足条件的记录不会被显示。而实际应用中在连接查询时需要显示某个表的全部记录,即使这些记录并不满足连接条件,这就是外连接查询(OUTERJOIN)。外连接查询返回的结果集中除了包含符合连接条件的记录外,还会返回FROM子句中至少一个表的所有行,不满足条件的行将显示空值。根据外连接引用的不同,外连接分为左外连接和右外连接两种。(1)左外连接左外连接(LEFTOUTERJOIN):结果集中除了包括满足连接条件的行外,还包括左表中不满足条件的记录行。当左表中不满足条件的记录与右表进行组合时,右表相应列的值为NULL。语法格式:SELECT字段列表FROM表1LEFT[OUTER]JOIN表2ON连接条件[WHERE查询条件][ORDERBY排序表达式[ASC|DESC]];(2)右外连接右外连接(RIGHTOUTERJOIN):结果集中除了包括满足连接条件的行外,还包括右表中不满足条件的记录行。当右表中不满足条件的记录与左表进行组合时,左表相应列的值为NULL。语法格式:SELECT字段列表FROM表1RIGHT[OUTER]JOIN表2ON连接条件[WHERE查询条件][ORDERBY排序表达式[ASC|DESC]];三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第11-12学时(交叉连接查询和联合查询)知识目标:掌握交叉连接查询和联合查询方法。能力目标:具备交叉连接查询和联合查询的能力。素质目标:团结合作。一、温故知新,情境导入1.回顾上节课学习的外连接查询,引出本节的内容:交叉连接查询和联合查询。2.动画引入交叉连接查询和联合查询,明确学习目标。二、知识讲解,实操演示1.交叉连接查询交叉连接查询(CROSSJOIN)是将左表中的每一行记录与右表中的所有记录进行连接,返回的记录行数是两个表的乘积。2.联合查询语法格式:SELECT列名FROM表名1UNION[ALL]SELECT列名FROM表名2UNION[ALL]SELECT列名FROM表名n;UNION:关键字,将多个SELECT语句的查询结果合并在一起显示。ALL:为可选项,在查询中若使用该关键字,则返回所有满足匹配的数据行,包括重复行。如果不使用该关键字,则返回结果中删除满足匹配的重复行。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第13-14学时(子查询)知识目标:了解子查询的概念,掌握子查询的方法。能力目标:具备子查询的能力。素质目标:精益求精的工匠精神。一、温故知新,情境导入1.回顾上节课学习的交叉连接查询和联合查询,引出本节的内容:子查询。2.动画引入子查询,明确学习目标。二、知识讲解,实操演示1.子查询概念子查询又称为嵌套查询,子查询也是一个SELECT语句,它可以嵌套在一个SELECT语句、INSERT语句、UPDATE语句或DELETE语句中。包含子查询的SELECT语句称为外层查询或父查询。子查询可以把一个复杂的查询分解成一系列的逻辑步骤,通过使用单个查询命令来解决复杂的查询问题。子查询的执行过程可以描述为:首先执行子查询中的语句,并将返回的结果作为外层查询的过滤条件,然后再执行外层查询。在子查询中通常要使用比较运算符、IN、ANY、SOME、ALL或EXISTS的关键字。(1)使用比较运算符的子查询当子查询的结果返回为单个值时,通常可以用比较运算符为外层查询提供比较操作。语法格式:SELECT列名FROM表名WHERE表达式比较运算符(子查询);比较运算符:常用的包括=(等于)、>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、<>(不等于)和!=(不等于)。子查询:可以使用SELECT语句。(2)IN子查询语法格式:SELECT列名FROM表名WHERE表达式[NOT]IN(子查询);IN:关键字,当子查询的结果返回为单列集合时,最常用的运算符。判断外层查询中某个列是否在子查询的结果集中。(3)ANY、SOME、ALL子查询当子查询的结果返回为单列集合时,还可以使用ANY、SOME或ALL关键字对子查询的返回结果进行比较。语法格式:SELECT列名FROM表名WHERE查询条件比较运算符ANY|SOME|ALL(子查询);ANY和SOME关键字是同义词,表示外层查询的表达式只要与子查询结果集中的值有一个匹配为TRUE就返回外层查询的结果。使用ALL关键字的子查询,表示外层查询的表达式要与子查询的结果集中的所有值比较,且比较结果都为TRUE时才返回外层查询的结果。(4)EXISTS子查询语法格式:SELECT列名FROM表名WHEREEXISTS(子查询);使用EXISTS关键字的子查询,系统会对子查询的返回结果进行判断,如果子查询至少返回一行记录,那么EXISTS的结果为TRUE,此时主查询语句将会执行;如果子查询没有返回任何记录,那么EXISTS的结果为FALSE,此时主查询语句将不会执行。三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第15-16学时(项目实训)一、需求分析,布置任务1.教师先进行需求分析,分析学生选课系统项目的视图和索引相关需求。2.教师发布任务。二、团队合作,任务执行1.学生分为6组,分工合作。2.项目执行过程中,通过团队合作解决问题,最终完成项目。三、汇报展示,考核评价1.各小组通过抽签方式决定汇报顺序。2.小组汇报结束后,教师和其他同学可以为该小组成员打分,系统自动生成各成员的成绩。教学反思《MySQL数据库项目实战》教案课程名称:XXXXXX授课年级:XXXXX授课学期:XXXXX教师姓名:XXXX项目名称项目4“天意书屋”数据库中视图与索引的使用计划学时10学时内容导览在前面项目的学习中,操作的数据表都是一些真实存在的表,其实,数据库还有一种虚拟表,它的结构和真实表一样,都是二维表,但是不存放数据,数据从真实表中获取,这种表被称为视图。对于数据库的操作应用,不仅要学会前面讲解的数据增删改查、视图,还要能根据实际开发需求,加快对表中数据的检索,使MySQL运行更快,这就需要用到索引。本项目将针对数据库中视图和索引的基本操作进行详细讲解。教学目标1.了解视图的概念和作用。2.掌握视图的创建、查看、修改和删除操作3.了解索引概念,索引分类,索引优点。4.掌握索引创建、查看、重命名和删除操作教学重点创建视图、查看视图、修改视图、删除视图创建索引、查看索引、删除索引教学难点1.创建视图2.创建索引教学过程第1-2学时(创建视图)知识目标:了解视图概念,掌握视图创建方法能力目标:具备创建视图的能力素质目标:明确目标,坚定信念一、温故知新,情境导入1.回顾项目三中学习的数据表,引出本节的内容:视图。2.动画引入视图概念,了解学习内容。二、知识讲解,实操演示视图的概念视图是从一个或多个基本表导出的表,是一种虚拟存在的表,是一个逻辑表。通过视图可以展现基表的部分数据,包含一系列带有名称的列和行数据。视图能像表一样操作,即可对视图进行查询、插入、更新与删除操作。使用视图的意义简化查询语句安全数据独立创建视图的两种方法图形化界面方式创建视图SQL命令方式创建视图:CREATEVIEW视图名[(列名列表)]ASSELECT语句;三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第3-4学时(维护视图)知识目标:掌握视图维护的操作,包括修改视图、查看视图、重命名视图、删除视图能力目标:具备维护视图的能力素质目标:培养学生认真仔细的职业精神和动手实践能力一、温故知新,情境导入1.回顾上节课学习的创建视图的操作,引出本节的内容:维护视图。2.通过动画引入任务情境,明确学习目标。二、知识讲解,实操演示查看视图查看视图有两种方式:一种是使用Navicat图形化界面方式;一种是使用SQL语句方式。(1)使用Navicat图形化界面方式查看视图字段信息(2)使用Navicat图形化界面方式查询视图数据(3)使用SQL语句查询视图字段信息:DESC视图名;(4)使用SQL语句查询视图数据:SELECT[ALL|DISTINCT]字段列表FROM视图名;修改视图修改视图是指修改MySQL数据库中存在的视图,当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性,也可以修改已有视图结构或者重命名。(1)使用Navicat图形化界面方式修改视图结构(2)使用Navicat图形化界面方式修改视图名称(3)使用SQL语句修改视图CREATEORREPLACEVIEW视图名[(字段列表)]ASSELECT语句;删除视图删除视图是指删除MySQL数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。(1)使用Navicat图形化界面方式删除视图(2)使用SQL语句删除视图DROPVIEW视图名1[,视图名2…];三、任务评测,汇报展示(1)发布课堂在线测试。(2)学生分小组完成项目需求,并进行汇报展示。第5-6学时(创建索引)知识目标:了解索引概念,索引分类,索引优点、索引创建方法能力目标:具备创建索引的能力素质目标:培养学生动手实践的能力一、温故知新,情境导入1.回顾项目三中学习的数据查询,引出本节的内容:索引。2.动画引入索引概念,了解学习内容。二、知识讲解,实操演示索引的概念索引是一种单独的、存储在磁盘上的数据库结构,包含对数据表中所有记录的引用指针,能够加快数据库的查询速度。。使用索引的优点可以大大加快数据的检索速度。创建唯一索引,可以保证数据库表中每行数据的唯一性。加速表与表之间的连接。在使用分组和排序子句进行数据检索时,可以显著减少分组和排序查询的时间。索引的分类普通索引:普通索引是最基本的索引,没有任何限制,可以创建在任何数据类型中,它的任务是加快对数据的访问速度。唯一索引:要求索引字段的值必须唯一,允许有空值。主键索引:一个表只能有一个主键,一般是在建表的同时创建主键索引。全文索引:查找的是文本中的关键词,允许在索引字段上插入重复值和空值,它只能创建在char,varchar或text类型的字段上。多列索引:多列索引在创建时所关联的字段不是一个,而是多个字段的组合。创建索引的两种方法图形化界面方式创建索引SQL命令方式创建视图:可以在创建表的时候直接创建索引:CREATETABLE表名(字段名数据库类型,字段名数据库类型,...INDEX索引名(字段名)|UNIQUEINDEX索引名(字段名)|PRIMARYKEY(字段名)|FULLTEXTINDEX索引名(字段名)|INDEX索引名(字段名1,字段名2...));可以在已经存在表上使用createindex语句创建索引。使用CREATEINDEX语句可以在一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年合肥肥西县人才科创发展集团有限公司招聘2人(第二批)笔试参考题库附带答案详解
- 2024-2025学年新教材高中历史 第十单元 改革开放与社会主义现代化建设新时期 活动课 家国情怀与统一多民族国家的演进(1)教学实录 新人教版必修《中外历史纲要(上)》
- 2024安康岚皋祥瑞城投建筑工程有限公司招聘笔试参考题库附带答案详解
- 2024四川绵阳科技城科新医疗发展有限公司招聘投资与战略管理岗位测试笔试参考题库附带答案详解
- 2024中国煤炭开发有限责任公司招聘(2人)笔试参考题库附带答案详解
- 中职电子商务教师资格证参考试题及答案
- 6 夜间飞行的秘密 教学设计-2024-2025学年语文四年级上册统编版
- 低空经济产业链构成
- 2024-2025学年新教材高中英语 Unit 3 The internet突破 语法大冲关教学实录 新人教版必修第二册
- 11别伤着自己 第2课时 教学设计-2023-2024学年道德与法治一年级上册统编版
- 质检员识图培训机械制图基础培训快速识图
- 尪痹的护理查房
- 艾瑞咨询-2024年中国数字世界平台创新趋势发展研究报告:以实为本以虚强实
- 精神科理论知识考核试题题库及答案
- 99D102-1 6~10kV铁横担架空绝缘线路安装
- 渤中19-6凝析气田试验区开发项目(第二阶段)环评报告
- 中医养生之药膳食疗考试试题
- 3D打印人体器官
- 矩形的性质(公开课)
- 日语履历书模板
- 石材等各类幕墙材料计算规则
评论
0/150
提交评论