MySQL数据库原理与应用项目化教程(微课版) 课件 项目6-数据更新_第1页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目6-数据更新_第2页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目6-数据更新_第3页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目6-数据更新_第4页
MySQL数据库原理与应用项目化教程(微课版) 课件 项目6-数据更新_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

项目六数据更新E-mail:358542298@江苏海事职业技术学院

数据表包括表结构和表数据二部分内容,创建与管理数据表只是完成了表结构的定义与维护,表中还没有数据。本项目将用SQL语句对“学生成绩管理”数据库的三个数据表进行数据更新操作,更新操作包括插入记录、修改记录和删除记录,数据更新操作必须满足数据表上定义的完整性约束条件。知识目标:识记INSERT、UPDATE、DELETE语句的语法。能力目标:能用INSERT语句插入记录。能用UPDATE语句修改记录。能用DELETE语句删除记录。任务6.1任务6.2插入记录修改记录任务6.3删除记录

任务6.1插入记录使用INSERT语句给“学生成绩管理”数据库的数据表插入记录,可以一次插入一行,也可以一次插入多行。

(三个表的具体内容参见任务1.2中的表1-3、表1-4、表1-5)【任务描述】插入记录6.1【相关知识】6.1.26.1.1

多行插入

单行插入6.1插入记录1.单行插入语法格式如下:

(1)INSERTINTO表名[(字段列表)]VALUES(值列表);(2)INSERTINTO表名

SET

字段名1=值1[,字段名2=值2……];说明:字段列表及值列表中的分隔符均为英文逗号。VALUES子句提供的值列表要与字段列表一一对应。如果省略(字段列表),VALUES子句要按顺序给每个字段提供值。数值列表中字符、日期型的数据要加单引号或双引号。自动增长列写成NULL或DEFAULT都可以。6.1【相关知识】插入记录默认列可以写成DEFAULT。记录要整条插入,没有提供值的字段不是默认值就是NULL。插入数据必须满足表中定义的数据完整性约束条件!主键值不能重复,主属性不能为空值先插入父表记录,再插入子表相关记录,子表外键的取值必须参考父表主键取值,当外

键不是主属性时可以取空值。有唯一约束的列的取值不能重复。有非空约束的列的取值不能为空值。6.1【相关知识】插入记录2.多行插入MySQL支持一条插入语句插入多行数据。语法格式如下:

INSERTINTO表名[(字段列表)]

VALUES(值列表1),

(值列表n);6.1【相关知识】插入记录【任务实施】1.准备工作创建studb数据库及它的三个空表(stuinfo,stumarks,stucourse),各表结构如任务5.1中的表5-5、表5-6、表5-7所示。6.1插入记录【任务实施】2.给stuinfo空表插入几条记录(一次插一条,并试着插入一条违反约束条件的记录)。先查看表结构:DESC、SHOWCREATETABLE6.1插入记录【任务实施】(1)插入第一条记录:('S001','刘卫平','男','1994-10-16',‘衡山市东风路78号’)。

INSERTINTOstuinfo(stuno,stuname,stusex,stubirthday,stuaddress)VALUES('S001','刘卫平','男','1994-10-16','衡山市东风路78号');6.1插入记录INSERTINTOstuinfo

VALUES('S001','刘卫平','男','1994-10-16','衡山市东风路78号');【任务实施】(2)插入第二条记录:('S002','张卫民','男','1995-08-11','地址不详')。INSERTINTOstuinfo

VALUES('S002','张卫民','男','1995-08-11',default);6.1插入记录【任务实施】(3)插入第三条记录:学号为“S003”,姓名为“马东”。6.1插入记录INSERTINTOstuinfo(stuno,stuname)VALUES(‘S003’,‘马东’);或者:INSERTINTOstuinfoSETstuno=‘S003’,stuname=‘马东’;【任务实施】(4)插入第四条记录:姓名为“钱达理”,性别为“男”。

INSERTINTOstuinfo(stuname,stusex)VALUES('钱达理','男');6.1插入记录【任务实施】3.给stucourse空表一次插入几条记录。INSERTINTOstucourse(cno,cname,credit)VALUES('0001','大学计算机基础',2),('0002','C语言程序设计',3),

('0003','SQLServer数据库及其应用',3);6.1插入记录【任务实施】4.给stumarks表插入一条记录:('S001','0004',80)。INSERTINTOstumarksVALUES('S001','0004',80);6.1插入记录重要知识点:1.插入记录:INSERT语句(1)

一次插入一行

INSERTINTO表名[(字段列表)]VALUES(值列表);

INSERTINTO表名SET字段名1=值1[,字段名2=值2……];(2)

一次插入多行

INSERTINTO表名[(字段列表)]VALUES(值列表1),(值列表2)[,...];2.插入记录要满足表中定义的完整性约束条件!6.1插入记录任务6.2修改记录使用UPDATE语句给“学生成绩管理”数据库(stuDB)的数据表修改记录,具体任务如下:(1)把stuinfo表中“S005”学生的性别(stusex)改为“女”。(2)把stucourse表中所有课程的学分(credit)加1。(3)把“0001”这门课程的所有成绩(stuscore)都加5分。

【任务描述】修改记录6.2【相关知识】修改记录6.2UPDATE语句【相关知识】修改记录6.2语法格式如下:

UPDATE

表名

SET

字段名1=表达式1[,字段名2=表达式2…][WHERE

条件];说明:把表中指定字段的值更新为表达式的值,一次可以修改多个字段的值,用逗号隔开。WHERE子句用于选择要修改的记录,若没有,则表示修改所有记录。【任务实施】修改记录6.2准备工作:数据库studb三个表(stuinfo/stucourse/stumarks)的数据如任务1.2中表1-3、表1-4、表1-5所示。【任务实施】1.把stuinfo表中“S005”学生的性别(stusex)改为“女”

修改前数据:修改记录6.2【任务实施】修改代码如下:UPDATEstuinfoSETstusex='女'WHEREstuno='S005';修改记录6.2修改后数据:【任务实施】2.把stucourse表中所有课程的学分(credit)都加1。

修改前数据:修改记录6.2【任务实施】修改代码如下:UPDATEstucourseSETcredit=credit+1;修改记录6.2修改后数据:【任务实施】3.把“0001”这门课程的所有成绩(stuscore)都加5分。修改记录6.2修改前数据:【任务实施】修改代码如下:UPDATEstumarksSETstuscore=stuscore+5WHEREcno='0001';修改记录6.2修改后数据:重要知识点:1.修改记录:UPDATE语句

UPDATE表名SET字段名=表达式1[,字段名2=表达式2…][WHERE条件];注:可以一次修改所有记录,也可以只修改满足条件的记录修改记录要满足表中定义的完整性约束条件!

6.2修改记录任务6.3删除记录使用SQL语句删除“学生成绩管理”数据库(stuDB)的数据表的记录,具体内容如下:(1)删除学生选课成绩表中“S003”学生的选课记录。(2)删除课程基本信息表中“0006”这门课的记录。(3)删除学生选课成绩表中的所有记录。(4)新建一个带自增列的表test,分别用DELETE、TRUNCATE语句删除全部记录后再重新插入记录,观察自增列值有什么不同。【任务描述】6.3删除记录【相关知识】6.3.36.3.1DELETE与TRUNCATE语句的区别

DELETE语句6.36.3.2

TRUNCATE语句删除记录【相关知识】删除记录6.31.DELETE语句语法格式如下:

DELETEFROM表名[WHERE

条件];说明:WHERE子句用于选择要删除的记录,没有则删除所有行先删除子表相关记录,再删除父表记录!删除记录6.32.TRUNCATE语句语法格式如下:

TRUNCATE[TABLE]表名;说明:此语句删除表中所有记录。不管子表是否为空表,父表记录都不能用TRUNCATE语句删除。【相关知识】删除记录6.33.DELETE与TRUNCATE语句的区别(1)DELETE语句可以删除部分记录,而TRUNCATE语句只能删除所有记录(2)TRUNCATE语句的执行效率比DELETE语句高。(3)父表记录不能用TRUNCATE语句删除(4)TRUNCATE语句删除表中数据,自增列的默认初始值重新由1开始;DELETE语句删除表中所有记录,自增列的值为删除时该字段的最大值加1。【相关知识】【任务实施】准备工作:数据库studb三个表(stuinfo/stucourse/stumarks)的数据如任务1.2中表1-3、表1-4、表1-5所示。删除记录6.3【任务实施】删除stumarks表中“S003”号

学生的选课记录。6.3删除记录删除前数据:【任务实施】代码如下:DELETEFROMstumarksWHEREstuno='S003';6.3删除记录删除后数据:【任务实施】2.删除stucourse表中课程号“0006”这门课的记录。DELETEFROMstucourseWHEREcno='0006';6.3删除记录系统报错:要删除的父表记录在子表中有对应记录!【任务实施】3.删除stumarks表的所有记录。DELETEFROMstumarks;6.3删除记录【任务实施】4.新建一个带自增列的表test,分别用DELETE、TRUNCATE语句删除全部记录后再重新插入记录,观察自增列值有什么不同。建表代码如下:CREATETABLEtest(useridintauto_incrementprimarykey,

usernamevarchar(10));6.3删除记录【任务实施】6.3自增列的值“有记忆”删除记录(1)DELETE语句操作演示【任务实施】(2)TRUNCATE语句操作演示6.3删除记录自

温馨提示

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

最新文档

评论

0/150

提交评论