版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目六数据更新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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川甘孜州泸定县人民医院编外招聘工作人员5人备考题库含答案详解(轻巧夺冠)
- 2026黎明职业大学招聘编制内博士研究生学历学位教师24人备考题库(福建)含答案详解(基础题)
- 2026福建泉州市晋江市社会组织综合党委招聘专职人员2人备考题库及参考答案详解(研优卷)
- 2026贵州贵阳综合保税区贵综跨境数据科技服务有限公司员工招聘1人备考题库含答案详解(轻巧夺冠)
- 2026河南郑州管城回族区人民医院招聘4人备考题库及答案详解(典优)
- 2026安徽安庆市皖宜项目咨询管理有限公司招聘派遣人员3人备考题库附答案详解(精练)
- 2026吉林省长影集团有限责任公司招聘9人备考题库及参考答案详解(培优a卷)
- 2026春季安徽合肥热电集团招聘25人备考题库及参考答案详解(达标题)
- 2026广东深圳市龙岗区政协机关招聘聘员1人备考题库附参考答案详解(突破训练)
- 2026川投(达州)燃气发电有限公司招聘3人备考题库带答案详解(培优a卷)
- 2026届河北省唐山市滦南县中考冲刺卷数学试题含解析
- 2026年度质量目标与实施方案
- 2026广东佛山高明技师学院、佛山市高明区职业技术学校招聘事业编制教师8人备考题库含完整答案详解(考点梳理)
- 武汉市2026届高三语文3月调研作文范文5篇:“行船顺水之势”
- 2025年铁路监理工程师网络继续教育考试题(附答案)
- 广东省广州市2026年普通高中毕业班综合测试(广州一模)英语试题
- 《第4课 纸偶奇遇记》课件2025-2026学年人教版美术二年级下册
- 2026年宁波城市职业技术学院单招职业倾向性考试题库及答案详解(易错题)
- 2025年信阳职业技术学院单招职业技能考试试题及答案解析
- GB/T 46872-2025二氧化碳捕集、运输和地质封存词汇共性术语
- 三年(2023-2025)辽宁中考英语真题分类汇编:专题05 完形填空 (解析版)
评论
0/150
提交评论