单元3管理数据表中的数据.ppt

上传人:sh****n 文档编号:12817173 上传时间:2020-05-26 格式:PPT 页数:20 大小:423KB
返回 下载 相关 举报
单元3管理数据表中的数据.ppt_第1页
第1页 / 共20页
单元3管理数据表中的数据.ppt_第2页
第2页 / 共20页
单元3管理数据表中的数据.ppt_第3页
第3页 / 共20页
点击查看更多>>
资源描述
1,单元3管理数据表中的数据,济宁职业技术学院数据库课程组,2,学习目标,【知识目标】掌握UNION运算符的使用方法。掌握带有INTO子句的SELECT语句的使用方法。掌握INSERT、INSERT与UNION配合、UPDATE、DELETE语句的使用方法。【技能目标】学会将两个或多个查询结果合并为一个查询结果。会从一个表中抽取数据到另一个表中。会使用INSERT语句向数据表插入数据。会使用UPDATE语句更新数据表中的数据。会使用DELETE语句删除数据表中的数据。,3,任务陈述,小赵提出需要将两个或多个不同的查询结果合并成为一个查询结果进行显示;需要从一个表中抽取数据保存到另一个表中。小赵还需要向数据表中输入数据,或者修改或删除数据表中的数据。,4,任务31合并两张表中的数据,将两个或多个查询结果合并成一个结果(使用UNION)【问题31】查看课程编号、课程名称及报名状态的情况。该题使用UNIONALL将两个查询结果合并为一个查询结果。注意观察查询结果的行数和列名USEXkGOSELECTCouName,CouNoFROMCourseUNIONALLSELECTState,CouNoFROMStuCouORDERBYCouNoGO如何消除合并后的查询结果的重复行?删除ALL关键字,观察查询结果。,5,任务31合并两张表中的数据,【问题32】查看课程编号、课程名称及报名状态的情况,并将数据保存到名字为CourseState表中(注意:数据库中没有CourseState表)。USEXkGOSELECTCouName,CouNoINTOCourseStateFROMCourseUNIONSELECTState,CouNoFROMStuCouORDERBYCouNoGO,6,任务31合并两张表中的数据,注意:(1)用来合并的每个查询结果中的列数必须相同,并且对应列的数据类型必须相同或兼容(2)第一个查询结果的列标题作为合并后查询结果的列标题。(3)INTO子句只能出现在第一个查询中,不可以出现在其它查询中,并且INTO后面的表名在数据库中不能存在。(4)ORDERBY和COMPUTEBY子句只能用在最后一个查询中,用来排序和汇总合并后的结果。(5)GROUPBY和HAVING子句仅可用在其它查询中,而不可用在最后的合并结果中。(6)UNION运算符也可以和INSERT语句一起使用。,7,任务32抽取数据到另一个表中,使用SELECTINTO语句允许将SELECT抽取的数据保存在当前数据库中并不存在的一个新表中。SELECTINTO语句会创建这个新表。如果这个表已经存在,那么操作会失败。【问题33】将Course中报名人数大于20的课程编号、课程名称、学分和上课时间抽取到New_Course表中。【问题34】将“01旅游管理”班同学的学号、姓名和选修的课程编号、课程名称数据抽取到名字为My_Class的新表中。想一想:使用SELECTINTO语句时,可以修改新创建的表的列名吗?,8,向表中添加数据,使用T-SQL语言不仅可以查询表中的数据,还可以对表中的数据进行维护,包括向表中添加数据,将某个表中的数据拷贝到另一个表中,修改或删除表中的数据。向表中添加数据1使用INSERT语句首先确定要在哪个表中添加数据,其次确定要添加什么数据,使用什么方法添加数据。【问题35】向Department表中添加三行数据DepartNo=11,DepartName=数学系DepartNo=12,DepartName=物理系DepartNo=13,DepartName=化学系,9,向表中添加数据,INSERT与UNION配合使用。【问题36】向Class表中添加4行数据:ClassNo=20110001,ClassName=03旅游管理1,DepartNo=03ClassNo=20110002,ClassName=03旅游管理2,DepartNo=03ClassNo=20110003,ClassName=02建筑管理1,DepartNo=02ClassNo=20110004,ClassName=02旅游管理2,DepartNo=022使用SQLServerManagementStudio,10,向表中添加数据,注意事项:1、不允许输入完全相同的两行2、不允许为空的列必须给出值3、值的数据类型要与列定义的数据类型相同4、VALUES值列表中列值的顺序要与表中列的顺序一致,11,向表中添加数据,INSERT语句格式:INSERTtable_nameSELECTcolumn_listFROMtable_listWHEREsearch_conditions注意事项:1、INSERT语句中和FROM子句中使用的表可以相同也可以不同,但必须是已经存在的表2、SELECT子句得到的结果集一定要和INSERT中指定的表兼容。(列的数量和顺序要相同),12,向表中添加数据,SELECTINTO语句格式:SELECTselect_listINTOnew_table_nameFROMtable_listWHEREsearch_conditions注意事项:1、新表不能存在,否则会产生错误信息。2、新表中的列和行是基于查询结果集的,13,将表中数据复制到新表中,将表中数据复制到新表中【问题37】从Course表中将报名人数在40人或以上的数据拷贝到CourseWillNum新表中(CourseWillNum表并不存在)。然后将报名人数大于30人并且小于40人的数据添加到CourseWillNum表中。步骤1:使用SELECTINTO将报名人数在40人及以上的数据复制到CourseWillNum表中。步骤2:使用INSERTINTO将报名人数大于30人并且小于40人的数据添加到已存在的CourseWillNum表中。,14,更新数据表数据,更新数据表数据方法有两种:使用UPDATE语句、使用SQLServerManagementStudio。UPDATE语句用来更新表中已经存在的数据,一次可以更新一行,也可以更新多行,甚至可以更新表中所有行。UPDATE语句语法如下:UPDATE要更新的表名SET要更新的列名=更新后的值FROM涉及到的表的列表WHERE限制条件AND多表连接条件【注意】方括号表示是可选项。无WHERE子句,则更新表中所有行。,15,更新数据表数据,注意事项:方括号表示是可选项。更新后的值可以是常量,也可以是指定的表达式。WHERE子句限制要更新哪些数据行,如果无WHERE子句,则更新表中所有数据行。如果更新涉及到多个表,需要在FROM子句中给出多个表的表名,而且在WHERE子句中给出多表之间的连接条件。使用UPDATE语句更新数据时如果破坏数据完整性,更新操作会失败。,16,更新数据表数据,【问题38】需要将“电子出版概论”课程的上课时间修改为“周二晚”。【问题39】需要将“01数据库”班所有学生的选课密码初始化为“#*3456”。,17,删除数据表数据,DELETE语句用来从表中删除数据。一次可以删除一行,也可以删除多行,当无WHERE语句时,则删除表中全部数据,但表的结构依然还在。DELETE语句格式:DELETE要删除数据的表名FROM涉及的表的列表WHERE条件注意:删除数据一定要慎重,因为删除时没提供确认,而是直接将数据删除。WHERE子句,对要删除的数据行进行限制;及涉及多表时的多表连接条件。,18,删除数据表数据,【问题310】学号为“00000005”的同学因故取消课程编号为“017”的选修课。【问题311】学号为“00000005”的同学因故取消“中餐菜肴制作”选修课。注意要更新Course表相应课程行的报名人数。,19,单元小结,在本单元,学习了:能使用UNION运算符将两个或更多查询结果合并为一个查询结果。会使用带有INTO的SELECT语句将查询抽取出来的数据存储到一个新表中。使用INSERT语句向表中添加数据行。将INSERT与UNION配合使用向表中添加多行数据会使用UPDATE语句根据需要更新数据表数据。会使用DELETE语句根据需要删除数据表数据。,20,复习与巩固,独立完成本单元思考与练习实训1-4,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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