Chapter2.2编辑用户表数据大型数据库2本章目标应知SQLServer的数据类型应会使用ManagementStudio和SQL语句向表输入的数据使用ManagementStudio和SQL语句修改表中的数据使用ManagementStudio和SQL语句删除表中的数据3(复习)SQL语言的组成3、数据操作语言DML(DataManipulationLanguage):用来操作数据库中的对象和数据,是T-SQL语言中最常用的部分。DML主要的语句有:SELECT/*从一个表或多个表中检索数据*/INSERT/*向一个表中添加数据*/UPDATE/*修改表中已有的数据*/DELETE/*从表中删除数据*/1、向用户表输入数据45向表中输入数据使用ManagementStudio器6向表中输入数据使用INSERT语句【例】分别使用三种方法向Department表中插入数据注意事项:1.对已经存在的值,系统不允许输入重复值2.对某些不允许为空的字段,不允许输入空值3.数据类型要和所对应的字段的定义相同4.values值列表的顺序要与表的字段顺序一致【练习1】把自己的班级信息(班级编号、名称等)插入到class表中.【练习2】试图把编号为’n1’、名称为‘新系别’插入到department表中.查看错误信息7向表中输入数据(续)使用INSERT和SELECT语句INSERTtable_nameSELECTcolumn_listFROMtable_listWHEREsearch_conditions【例2.44】将Department表中的数据插入到Department1表中注意事项:1.INSERT语句中和FROM子句中使用的表可以相同也可以不同,但必须是已经存在的表2.SELECT子句得到的结果集一定要和INSERT中指定的表兼容。(列的数量和顺序要相同)8向表中输入数据(续)使用INSERT和SELECT语句【练习】将class表中的数据插入到newclass表中CREATETABLEnewclass(ClassNonvarchar(8)NOTNULL,DepartNonvarchar(2)NOTNULL,ClassNamenvarchar(20)NOTNULL,)Go9向表中输入数据(续)使用SELECTINTO语句SELECTselect_listINTOnew_table_nameFROMtable_listWHEREsearch_conditions【例2.45】【练习1】将Course表中报名人数大于20的记录插入到NewCourse表中注意事项:新表不能存在,否则会产生错误信息新表中的列和行是基于查询结果集的使用SELECTINTO语句【练习2】将class表中属于‘计算机应用工程系’的班的记录插入到class1表中.[提示:在where子句中使用in]102、修改用户表数据11使用studio修改1213修改表中的数据修改表中的数据UPDATEtable_nameSETcolumn_name=…FROM…WHERE…注意事项:UPDATE子句指明要修改的表格名称(只能是一个表格)SET子句指明要修改的列及其新值(如果有多个列,可用逗号隔开)WHERE子句指明要修改的行14修改表中的数据(续)1.当修改只涉及到一个表时:【例2.46】P77【练习1】将department1中的“计算机应用工程系”改为“计算机工程学院”【先比较条件再更新数据】【练习2】将“SQLServer实用技术”的上课时间改为“周一567节”,教师改为”谢老师”(多个字段)15修改表中的数据(续)2.当修改涉及到多个表时:【例2.47】【练习1】将“00电子商务”班姓名为“林斌”的同学的选课密码改为“AAAAAAAA”注意事项:FROM子句指明本次修改涉及到的表格名称(如果只涉及到UPDATE中的表格,则FROM子句可以省略)【练习2】将已经选修了课程并且学号为“00000001”的同学的选课密码修改为“BBBBBBBB”16修改表中的数据(续)2.当修改涉及到多个表时:高难度题目【练习3】将‘计算机应用工程系’的还没有选修课的同学的选课密码统一修改为“123456”。3、删除用户表数据1718删除表中的数据删除表中的数据DELETEtable_nameFROM…WHERE…1.当删除只涉及到一个表时:课本PAGE78【例2.48】注意事项:同样的,FROM子句指明本次删除涉及到的表格名称(如果只涉及到DELECT中的表格,则FROM子句可以省略)问题:为何DELETE的时候不需要指明column_name?19删除表中的数据删除表中的数据1.当删除只涉及到一个表时:[练习1]删除department1中的’旅游系’【可否直接删除deparment表中的’旅游系’,为什么?】[练习2]删除newclass中的‘旅游管理’专业班级(有00,01,02三级三个班)20删除表中的数据删除表中的数据2.当修改涉及到多个表时:课本PAGE79【例2.49】【练习】姓名为“林斌”的同学因故取消了“JAVA技术的开发应用”课程的选修,请做相应的删除操作21本章小节重点:使用企业管理器和SQL语句输入、修改和删除表中的数据难点使用SQL语句修改和删除表中的数据22作业2作业:1、将Course表中信息技术类课程的数据行插入到新表ITCourse表中【建立新表ITCourse】2、把‘建筑电气’类班级调整到‘计算机应用工程系’【含00,01,02级】3、‘计算机应用工程系’的学生都选修‘001’(SQLServer实用技术)课程【为了保证在已有选同学的情况下不出错,可以先delete再insert,也可以使用notexists或notin】课本P8112--15