SQL基础数据教程 9_第1页
SQL基础数据教程 9_第2页
SQL基础数据教程 9_第3页
SQL基础数据教程 9_第4页
SQL基础数据教程 9_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务4管理学生选课系统数据库——数据库表中数据的操作目录Contents学习目标4.1任务描述4.2知识准备4.2.1插入数据4.2.2更新数据4.2.3删除数据4.3任务实现4.4任务小结在任务3的学习中,我们学会了如何创建数据表,那数据表中的数据如何处理呢?数据在表中是以记录的形式存在的,通过DML语句对数据进行操作,包括插入数据、更新数据和删除数据。本任务针对数据的操作进行讲解。管理学生选课系统数据库学习目标掌握INSERT语句的语法规则,对数据库表进行单条或者批量插入数据;掌握UPDATE语句的语法规则,对数据库表数据进行基本的更新操作;掌握DELETE语句的语法规则,对数据库表数据进行基本的删除操作。管理学生选课系统数据库4.1任务描述在任务3的基础上,本任务继续对数据库scoredb中的6张数据表,即院系department、学生student、课程course、教师teacher、选修score以及讲授teaching进行数据操作,主要是涉及对表中数据进行增删改操作。例如,利用SQL语句为学生student表插入数据,执行结果如图4-1所示。管理学生选课系统数据库4.1任务描述管理学生选课系统数据库图4-1学生student表所有学生的相关信息4.2知识准备在scoredb数据库中,涉及院系(department)、学生(student)、课程(course)、教师(teacher)、选修(score)以及讲授(teaching)这六张紧密关联的数据表,增删改操作复杂且关键。新学期开学,添加新生时,需在student表录入学生基本信息,同时在department表关联其所属院系。开设新课,要在course表录入课程详情,在teacher表指定授课教师,并在teaching表建立教师与课程的讲授关系。当某门课程的教学安排变更时,不仅要在course表中修改课程信息,而且teaching表中对应的授课安排也需同步更新。若有教师调动院系,teacher表和department表都要做出相应修改。学期末处理毕业学生,不仅要删除student表中的学生记录,与之关联的score表中的选修成绩、teaching表中涉及该学生的授课记录等都要妥善清理,确保数据的一致性与完整性,保障学校教学管理工作的顺利开展。本章针对表数据的插入、更新和删除进行讲解,通过对表数据的操作,掌握数据库表中数据的基本操作。管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据在MySQL中,对表数据的增删改是管理数据库的关键操作。插入操作能添新数据,像在学生表中添加新入学的学生,可单条或批量插入;更新操作是对已存数据进行修改,比如学生信息的修改;删除操作则用来移除无用记录,比如学生退学。掌握这些操作,能更好地维护数据库,为各类应用提供可靠数据支撑,本节将对插入数据进行讲解。插入数据是向表内添加记录,数据插入的关键字是INSERT。插入数据的方式包括向表中所有字段插入一条数据、向表中指定的字段插入一条数据、向表格中插入多条数据。管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据(1)向表中所有字段插入一条数据向表中所有字段插入一条数据有两种方式,第一种是把所有的字段名列出来,并列出对应的字段值;第二种是不列出字段名,只列出全部字段值,但要求值与字段定义顺序、类型;一致。第一种方式语法格式如下:INSERTINTO表名(字段名1,字段名2,.......,字段名n)VALUES(值1,值2,......,值n);第二种方式语法格式如下:INSERTINTO表名VALUES(值1,值2,......,值n);管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据下面对上述语法格式进行说明。①INSERTINTO是插入数据的命令。②字段名1,字段名2,.......,字段名n是表中的全部字段,如果省略,值的顺序、数量和类型应与表结构定义的字段保持一致。③VALUES是设置属性值的关键字。值l、值2,…表示要插入的字段的值,值的数量、类型与顺序必须与前面指定的字段一一对应。当插入字符串时,须将值包含在英文单引号中。管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据(2)向表中指定的字段插入一条数据向表中指定的字段插入一条数据,只需列出部分字段即可,语法格式如下。INSERTINTO表名(字段名1,字段名2,....,字段名n)VALUES(字段值1,字段值2,......,字段值n);其中,字段名1,字段名2,....用于指定要插入数据的部分字段名,其数量和顺序不必与表定义完全一致,字段值的数量、类型、顺序与前面的字段名保持一致且一一对应。【例4.1】使用SQL语句向数据库library的数据表books中插入一条图书数据,SQL语句如下。INSERTINTObooks(bookid,title,author,publisher,quantity)VALUES('B001','西游记','吴承恩','人民文学出版社',50);管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据若省略字段名,语句可写为:INSERTINTObooksVALUES('B001','西游记','吴承恩','人民文学出版社',50);执行后,可通过SELECT*FROMbooks;查看插入结果,会显示新增的这条图书数据。管理学生选课系统数据库图4-2查看为数据表books插入的数据4.2.1插入数据1.使用SQL语句插入数据(3)向表格插入多条数据,语法格式如下。INSERTINTO表名(字段名1,字段名2,...)VALUES(值1,值2,...),(值1,值2,...),......(值1,值2,...);注意:各条数据之间用英文逗号分隔,最后一行加英文分号即可。管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据【例4.2】使用SQL语句向数据库library的数据表books中同时插入3条图书数据,SQL语句如下。INSERTINTObooks(bookid,title,author,publisher,quantity)VALUES('B002','红楼梦’,'曹雪芹','人民邮电出版社',30),('B003','三国演义','罗贯中','中华书局',25),('B004','水浒传','施耐庵','三联书店',40);执行后,可通过SELECT*FROMbooks;查看插入结果,会显示新增的这3条图书数据。管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据管理学生选课系统数据库图4-3查看为数据表books插入的数据4.2.1插入数据1.使用SQL语句插入数据接下来,向数据库library余下的两张表插入数据,具体内容参照表4-1和4-2。该部分留作学生自主练习。管理学生选课系统数据库4.2.1插入数据1.使用SQL语句插入数据(4)将其他表的数据插入将其他表的数据插入到本表中,可以通过关键字INSERT实现,语法格式如下。INSERTINTO表名1(字段名1,字段名2,...)SELECT字段名1,字段名2,...FROM表名2注意:上述语句将表名2中查询到的字段的值,插入到表名1的字段列表1中,但也要注意表名2中查询语句中的字段的数量、类型应当与表名1中的字段保持一致。管理学生选课系统数据库4.2.1插入数据2.使用Navicat插入数据【例4.3】使用Navicat向数据库library的数据表books中插入图4-3的图书数据(插入前将数据先删除)。使用Navicat插入数据的步骤如下。管理学生选课系统数据库图4-4“打开表”界面步骤1:在Navicat左侧窗格中,打开对应连接“test”和数据库“library”,展开“表”选项,右击“books”表,在弹出的快捷菜单中选择“打开表”选项,进入数据输入界面,如图4-4所示。4.2.1插入数据2.使用Navicat插入数据步骤2:在第1行的各个编辑框中分别输入B001、西游记、吴承恩、人民文学出版社、50,可以按“Tab”键在各个编辑框中切换,输入完成后单击界面下方的“√”按钮,如图4-5所示。管理学生选课系统数据库图4-5输入第1行数据4.2.1插入数据2.使用Navicat插入数据步骤3:单击界面下方的“+”按钮,进行第2行数据的输入,在各个编辑框中分别输入B002、红楼梦、曹雪芹、人民邮电出版社、30,输入完成后单击界面下方的“√”按钮,如图4-6所示。管理学生选课系统数据库图4-6输入第2行数据4.2.1插入数据2.使用Navicat插入数据步骤4:重复步骤3,完成后两行数据的输入,如图4-7所示。管理学生选课系统数据库图4-7输入后两行数据4.2.2更新数据1.使用SQL语句更新数据用户给表格录完数据之后,发现出错了,或者后期需要对数据进行更新,此时可以通过UPDATE关键字对表格中的数据进行更新。对于更新数据有两种方式,分别是更新表中指定的数据和更新表中所有的数据。(1)更新表中指定的数据在MySQL中,使用UPDATE语句来更新表中的数据。给表中指定的数据进行更新,一般会加上WHERE子句来限定修改范围,其语法格式如下。UPDATE表名SET字段名1=值1[,字段名2=值2,…]WHERE条件限定语句;管理学生选课系统数据库4.2.2更新数据1.使用SQL语句更新数据(1)更新表中指定的数据下面对上述语法格式进行说明。①UPDATE是更新数据的命令。②SET是设置修改数据的属性及属性值的关键字:字段名1=值1是要修改数据的字段名及字段值。[,字段名2=值2,…]可选性,表示可设置一组或多组字段及字段值,且多组之间用英文逗号分隔。③WHERE是设置更新条件的关键字,条件限定语句是设置的修改条件。【例4.4】使用SQL语句将bookid为B001的图书库存修改为49,SQL语句如下。管理学生选课系统数据库4.2.2更新数据1.使用SQL语句更新数据(1)更新表中指定的数据UPDATEbooksSETquantity=49WHEREbookid="B001";执行后,可通过SELECT*FROMbooks;查看更新结果,会显示图书数量修改成了49。管理学生选课系统数据库图4-8查看为数据表books更新的数据4.2.2更新数据1.使用SQL语句更新数据(2)更新表中所有的数据若要更新表中所有数据,无需添加WHERE子句条件,直接指定要更新的列及其新值即可,其语法格式如下。UPDATE表名SET字段名1=值1,字段名2=值2,…,字段名n=值n注意:给表中所有的数据进行更新,意味着表中的每一条记录都会进行修改,所以进行此操作需要谨慎。【例4.5】使用SQL语句将books表的图书库存都修改为40。SQL语句如下。管理学生选课系统数据库4.2.2更新数据1.使用SQL语句更新数据(2)更新表中所有的数据UPDATEbooksSETquantity=40;执行后,可通过SELECT*FROMbooks;查看更新结果,会显示图书数量都修改成了40,如图4-9所示。管理学生选课系统数据库图4-9查看为数据表books更新所有quantity字段后的数据4.2.2更新数据2.使用Navicat更新数据(2)更新表中所有的数据【例4.6】使用Navicat将数据库library的数据表books中bookid为B001的图书库存数量修改为50。使用Navicat更新数据的步骤如下。步骤1:在Navicat左侧窗格中,打开对应连接“test”和数据库“library”,展开“表”选项,右击“books”表,在弹出的快捷菜单中选择“打开表”选项,进入数据输入界面,如图4-10所示。管理学生选课系统数据库图4-10“打开表”界面4.2.2更新数据2.使用Navicat更新数据(2)更新表中所有的数据步骤2:在bookid等于B001的行中,点击quantity字段对应的编辑框,将40修改为50,然后按“Enter”键或者单击界面下方的“√”按钮,即可完成修改,如图4-11所示。管理学生选课系统数据库图4-11修改字段的值4.2.3删除数据用户给表格录完数据之后,发现某条记录出错了,想要进行删除,此时可以通过DELETE关键字对表格中的数据进行删除。对于删除数据有两种方式,分别是给表中指定的数据进行删除和给表中所有的数据进行删除。1.使用SQL语句删除数据(1)删除表中指定的数据将表中指定的数据删除,一般会加上WHERE子句来限定修改范围,语法格式如下。DELETEFROM表名WHERE条件限定语句;下面对上述语法格式进行说明。①DELETEFROM是删除数据的命令。②WHERE是设置删除条件的关键字,条件限定语句是设置的删除条件。管理学生选课系统数据库4.2.3删除数据1.使用SQL语句删除数据(1)删除表中指定的数据【例4.7】使用SQL语句将books表中bookid为B001的数据删除,SQL语句如下。DELETEFROMbooksWHEREbookid="B001";执行后,通过SELECT*FROMbooks;查看结果,如图4-12所示,bookid为B001的数据已经删除。管理学生选课系统数据库图4-12查看数据表books删除记录后的数据4.2.3删除数据1.使用SQL语句删除数据(2)删除表中所有的数据若删除表中所有数据,无需添加WHERE子句条件,直接指定要删除的表即可,语法格式如下。DELETEFROM表名;注意:将表中所有的数据进行删除,意味着表格会清空,所以进行此操作需要谨慎。【例4.8】使用SQL语句将books表中数据全部删除,SQL语句如下。DELETEFROMbooks;执行后,通过SELECT*FROMbooks;查看结果,如图4-13所示,books表中数据已经全部删除。管理学生选课系统数据库图4-13查看数据表books删除所有数据后的数据4.2.3删除数据2.使用Navicat删除数据【例4.9】使用Navicat将数据库library的数据表books中bookid为B001的图书信息删除。使用Navicat删除数据的步骤如下。步骤1:在Navicat左侧窗格中,打开对应连接“test”和数据库“library”,展开“表”选项,右击“books”表,在弹出的快捷菜单中选择“打开表”选项,进入数据输入界面。步骤2:右击bookid等于B001的记录,在弹出的快捷菜单中选择“删除记录”选项,即可打开“确认删除”对话框,单击“删除一条记录”按钮即可,如图4-14所示。管理学生选课系统数据库图4-14删除记录确认界面4.3任务实现在本单元中,主要完成的任务有3个,分别是对数据表中的数据进行插入、修改和删除的操作,下面以“学生选课系统”数据库举例进行详细介绍。4.3.1数据的插入在现有表结构之上,通过编写和执行SQL语句,实现对表内数据的添加。【例4.10】为表department录入数据。SQL语句如下。INSERTINTOdepartmentVALUES('68002','计算机科学与工程学院','张潇丽'),('68003','经济与管理学院','李洙成'),('68004','印刷包装与数字媒体学院','周维'),('68005','材料科学与工程学院','孙伟智'),('68006','水利水电学院','吴婷丽');管理学生选课系统数据库除了使用SQL语句的方式插入数据之外,还可以使用可视化工具Navicat对数据进行插入。首先选中需要插入数据的表,然后单击“打开表”按钮即可,如图4-15所示。管理学生选课系统数据库图4-15“打开表”按钮打开表后,单击左下角的“+”按钮可以增加数据,在记录中填写数据后,单击“

”即可插入成功,如图4-16所示。若想插入多条数据,可重复执行上述操作。管理学生选课系统数据库图4-16填写数据【例4.11】为表student批量插入数据。SQL语句如下。INSERTINTOstudentVALUES('20231286','郭薇','人工智能2班','68002'),('20231289','尹佳薇','软件工程2班','68002'),('20231222','励君','物联网3班','68002'),('20231178','邹心怡','计算机科学与技术2班','68002'),('20231239','牛桃桃','网络工程1班','68002'),('20231302','汪洋','软件工程1班','68002'),('20231247','郭子慧','会计学1班','68003'),('20231258','郭勇智','会计学2班','68003'),('20231257','李子聪','金融学1班','68003'),('20231312','李志硕','经济学2班','68003'),('20231356','崔超','工商管理2班','68003'),('20231325','崔晨浩','市场营销2班','68003'),管理学生选课系统数据库('20231365','王德辉','会计学2班','68003'),('20231324','赵梅','人力资源管理2班','68003'),('20231218','李梦','工商管理2班','68003'),('20231197','康曦','数字媒体技术2班','68004'),('20231203','杜晨梦','数字媒体技术2班','68004'),('20231229','钱多多','包装工程1班','68004'),('20231301','孙明智','数字媒体技术1班','68004'),('20231390','郑凯','印刷工程1班','68004'),('20231343','王婷','数字媒体技术1班','68004'),('20231227','刘洋','材料科学与工程3班','68005'),('20231210','陈敬','材料物理1班','68005'),('20231190','杨帆帆','材料化学1班','68005'),管理学生选课系统数据库('20231189','黄涛帆','新能源材料与器件1班','68005'),('20231167','吴梦婷','材料成型及控制工程2班','68005'),('20231128','徐浩铭','材料科学与工程1班','68005'),('20231150','孙悦鑫','材料成型及控制工程1班','68005'),('20231126','胡静安','材料化学2班','68005'),('20231139','朱莉','水利水电工程1班','68006'),('20231280','马超','能源与动力工程1班','68006'),('20231490','林峰','新能源科学与工程2班','68006'),('20231388','徐毅','农业水利工程1班','68006'),('20231402','许一晴','水文与水资源工程1班','68006'),('20231304','薛凯乐','能源与动力工程2班','68006'),('20231459','程前','农业水利工程1班','68006');管理学生选课系统数据库图4-17例4.11执行结果(只截取了部分数据)执行结果如图4-17所示。。【例4.12】为表course批量录入数据。SQL语句如下。INSERTINTOstudentVALUES('3497568','Python编程语言','68002'),('1654327','计算机组成原理','68002'),('8764893','操作系统','68002'),('1937456','计算机网络','68002'),('1389427','数据结构','68002’),('5093893','Mysql数据库','68002'),('1399856','自然语言处理','68002'),('2378084','微观经济学','68003'),('4859728','国际金融','68003'),管理学生选课系统数据库('2884750','市场营销','68003'),('2373837','宏观经济学','68003'),('4467828','人力资源管理','68003'),('2764450','战略管理','68003'),('1990836','印刷技术','68004'),('3190836','包装工艺学','68004'),('2947465','包装测试与实验','68004'),('2840044','多媒体技术','68004’),('1946553','材料力学','68005'),('4789993','无机化学','68005'),('1235553','有机化学','68005'),管理学生选课系统数据库('8900393','分析化学','68005'),('1399053','材料工程基础','68005'),('2009393','材料物理性能','68005'),('4889992','水利工程制图','68006'),('2994424','工程力学','68006'),('3214662','建筑材料检测','68006'),('3677524','水利工程测量','68006'),('4477852','水利分析与计算','68006'),('2567724','水利混凝土结构','68006’);执行结果如图4-18所示。管理学生选课系统数据库图4-18例4.12执行结果【例4.13】为表teacher批量录入数据。SQL语句如下。INSERTINTOstudentVALUES('10700','李浩','教学部门','68002'),('10701','张梓涵','教学部门','68003'),('10702','王雅琪','教学部门','68003'),('10703','赵天宇','教学部门','68004'),('10704','刘梦琪','教学部门','68006'),('10705','周宇轩','教学部门','68005'),('10706','吴俊杰','教学部门','68002'),('10707','马致远','教学部门','68002'),('10708','朱琪','教学部门','68003'),管理学生选课系统数据库('10709','何雨晴','教学部门','68002'),('10710','郭宇飞','教学部门','68003'),('10711','许诺','教学部门','68005'),('10712','谢昕怡','教学部门','68006'),('10713','雷志豪','教学部门','68004'),('10714','王宇','教学部门','68004'),('10715','陈孟玉','教学部门','68003'),('10716','陆家然','教学部门','68002'),('10717','薛明','教学部门','68002’);执行结果如图4-19所示。管理学生选课系统数据库图4-19例4.13执行结果【例4.14】为表score批量录入数据。SQL语句如下。INSERTINTOstudentVALUES('20231286','1389427','97'),('20231222','1399856','88.5'),('20231178','1399856','86'),('20231286','1399856','78'),('20231302','1654327','79'),('20231128','1399053','81'),('20231150','1946553','76'),('20231126','2009393','77'),('20231258','2373837','78'),管理学生选课系统数据库('20231459','3214662','85’),('20231388','3677524','86.5'),('20231324','4467828','76'),('20231324','2884750','74');执行结果如图4-20所示。管理学生选课系统数据库图4-20例4.14执行结果【例4.15】为表teaching批量录入数据。SQL语句如下。INSERTINTOstudentVALUES('20231286','10700','3497568'),('20231289','10706','1654327'),('20231222','10709','8764893'),('20231178','10707','1937456'),('20231239','10706','1389427'),('20231325','10701','4859728'),('20231365','10701','2884750'),('20231324','10708','2373837'),('20231218','10702','4467828'),管理学生选课系统数据库('20231390','10713','1990836'),('20231343','10714','3190836'),('20231227','10705','1946553'),('20231210','10711','2009393'),('20231190','10705','1235553'),('20231402','10712','3677524'),('20231304','10704','4477852'),('20231459','10704','2567724');执行结果如图4-21所示。管理学生选课系统数据库图4-21例4.15执行结果4.3.2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论