版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲教师:姜云桥任务2.2数据的操作子项目2数据库基础开发任务背景学校要建立一个教学管理系统。根据需求分析,建立数据库,数据表,接下来要初始化相关表数据。任务目标1.能管理数据表数据2.能插入数据3.能修改数据4.能删除数据知识目标1.掌握插入INSERTINTO的语法2.了解REPLACEINTO、LOADDATAINFILE的语法3.掌握update...set...命令的语法4.掌握DELETE的语法能力目标任务要求本任务将学习数据表中插入、修改和删除数据。在任务实施过程中,要特别注意操作的语法结构。任务必备知识想一想如何插入数据?任务必备知识2.2.1插入数据插入数据的方法很多,可以通过insertinto、replaceinto语句插入,也可以使用loaddatainfile方式将保存在文本文件中的数据插入到指定的表。一次可以插入一行或插入多行数据。任务必备知识insertintotable_name(col1,col2,...)values(val1,val2,...);2.2.1插入数据一、插入单行数据【任务2.2.1】向student表中插入如下数据任务必备知识mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132001','李平','男','2001-02-01','南京路1号',null,null,'D001');2.2.1插入数据任务必备知识2.2.1插入数据【任务2.2.1】再次用insertinto语句向student表中插入主键相同数据mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132001','李平','女','2023-02-01','南京路3号',null,null,'D001');ERROR1062(23000):Duplicateentry'132001'forkey'student.PRIMARY'任务必备知识2.2.1插入数据由于student表中已经有132001学生的记录,因此将出现主键冲突错误,如果希望即使插入主键相同的数据也不会报错,则可以使用关键字ignore:mysql> insert ignore intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132001','李平','女','2023-02-01','南京路3号',null,null,'D001')任务必备知识insertintotable_name(col1,col2,...)values(val1,val2,...),(val1,val2,...),...;2.2.1插入数据二、插入多行数据【任务2.2.3】一次性向student表中插入下列2行数据任务必备知识mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('132002','叶明','女','2001-05-02','学院路1号',null,null,'D003'),->('132003','张天','男','2000-02-019','文明路6号',null,null,'D001');2.2.1插入数据任务必备知识insertintotable_name(col1,col2,...)selectcol1,col2,...;2.2.1插入数据三、插入查询数据【任务2.2.4】将student表中对应数据插入student_new表中。任务必备知识首先创建student_new表:mysql>createtablestudent_new->(->s_nochar(8)primarykey,->s_namevarchar(20),->s_sexenum('男','女')default'女',->s_birthdatenotnull,->d_nochar(4)->);将student表中对应字段的数据插入student_new表:mysql>insertintostudent_new(s_no,s_name,s_sex,s_birth,d_no)->selects_no,s_name,s_sex,s_birth,d_nofromstudent;2.2.1插入数据任务必备知识当插入主键相同的记录时默认会报错,插入失败,而有时我们希望当插入的数据违反主键约束时,执行更新操作替换原表中的数据,此时可通过ONDUPLICATEKEYupdate或REPLACE语句实现。2.2.1插入数据四、插入重复数据.insert…onduplicatekeyupdateinsertintotable_name(col1,col2,...)values(val1,val2,...)onduplicatekeyupdateassignment_list;任务必备知识2.2.1插入数据【任务2.2.5】向student表中插入如下数据,若数据存在,更新s_birth为’2023-03-02’mysql> insert intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('122001','张群','男','2000-02-01','文明路8号',null,null,'D001')->onduplicatekeyupdate->s_birth='2023-03-02'任务必备知识2.2.1插入数据【任务2.2.6】向student表中插入如下数据若数据不存在,直接插入,若存在,更新为待插入的数据mysql> replace intostudent(s_no,s_name,s_sex,s_birth,s_address,s_phone,s_photo,d_no)->values('122001','张群','男','1991-02-01','文明路13号',null,null,'D002');任务必备知识MySQL还支持图片的存储,图片一般可以以路径的形式来存储,即插入图片采用直接插入图片的存储路径。当然,也可以直接插入图片本身,只要用LOAD_FILE()函数即可。2.2.1插入数据五、插入图片数据122110,程明,男,1991-02-01,D001,北京路123号,02066635425,picture.jpg其中,照片路径为“D:\IMAGE\picture.jpg”。使用如下语句。
mysql>insertintostudentvalues('122110','程明','男','1991-02-01','D001','北京路123号','02066635425','D:\IMAGE\picture.jpg');【任务2.2.7】向student表中插入一行数据任务必备知识想一想如何修改数据?任务必备知识用update...set...命令对表中的数据进行修改。可以修改一个表的数据,也可以修改多个表的数据。2.2.2修改数据updatetbl_namesetcol1=val1,col2=val2,...[wherewhere_condition][orderby...][limitrow_count]一、单表更新任务必备知识2.2.2修改数据mysql>updatecoursesetc_type='专业基础课'wherec_no='A002';【任务2.2.8】将课程A002的类型修改为专业基础课程任务必备知识2.2.2修改数据updatetable_referencessetcol1=val1,col2=val2,...[wherewhere_condition]二、多表更新说明:1)更新多个表中的数据,意味着SET涉及的字段分属不同的表。2)多表更新不支持orderby和limit子句。3)多表更新中多个字段的赋值执行顺序是不确定的。任务必备知识2.2.2修改数据mysql>updatestudentstjoinscoresconst.s_no=sc.s_no->joincoursecsoncs.c_no=sc.c_no->setst.s_s_address='人民路21号',sc.mark=85->wherest.s_name='聂凤卿'andcs.c_name='MYSQL';【任务2.2.9】同时更新“聂凤卿“的地址为”人民路21号“,MYSQL课程的成绩为85任务必备知识
SET子句:根据WHERE子句中指定的条件,对符合条件的数据行进行修改。若语句中不设定WHERE子句,则更新所有行。分析与讨论任务必备知识想一想如何删除数据?任务必备知识2.2.3删除数据deletefromtbl_name[wherewhere_condition][orderby...][limitrow_count]一、单表删除说明:1)只删除满足where_condition条件的数据行,没有指定条件将会删除表中的全部数据。2)如果指定了orderby和limit子句,按照顺序删除row_count行数据。3)数据删除后将不能恢复,因此,在执行删除之前对数据做好备份。任务必备知识mysql>deletefromstudentwheres_sex='女';【任务2.2.10】删除女生记录2.2.3删除数据mysql>deletefromscorewherec_no='B001'andmark<60;【任务2.2.11】删除B001课程不及格的成绩记录任务必备知识mysql>deletefromscoreorderbymarklimit3;【任务2.2.12】删除score表中分数最低的3行记录2.2.3删除数据mysql>deletefromstudent_new;或者mysql>truncatestudent_new;【任务2.2.13】清空student_new表中的数据任务必备知识2.2.3删除数据deletetbl_name1,tbl_name2,...fromtable_references[wherewhere_condition]或者deletefromtbl_name1,tbl_name2,...usingtable_references[wherewhere_condition]一、多表删除任务必备知识mysql>deletest,sc->fromstudentstjoinscoresconst.s_no=sc.s_no->wherest.s_name='聂凤卿';或者mysql>deletefromst,sc->usingstudentstjoinscoresconst.s_no=sc.s_no->wherest.s_name='聂凤卿';【任务2.2.14】同时删除“聂凤卿”的信息,以及相应的课程成绩2.2.3删除数据任务必备知识(1)QUICK修饰符:可以加快部分种类的删除操作的速度。(2)FROM子句:用于指定从何处删除数据。(3)WHERE子句指定的删除条件。如果省略WHERE子句则删除该表的所有行。(4)ORDERBY子句:各行按照子句中指定的顺序进行删除,此子句只在与LIMIT联用时才起作用。ORDERBY子句和LIMIT子句的具体定义将在任务10中介绍。
分析与讨论任务必备知识(5)LIMIT子句:用于告知服务器在控制命令被返回到客户端前被删除的行的最大值。(6)数据删除后将不能恢复,因此,在执行删除之前一定要对数据做好备份。分析与讨论任务实施一、在人事管理数据库rsgl中进行如下操作:1.用insertinto语句向department表插入所有数据。数据如下:('A001','办公室'),('A002','人事处'),('A003','宣传部'),('A004','教务处'),('A005','科技处'),('A006','后勤处'),('B001','信息学院'),('B002','艺术学院'),('B003','外语学院'),('B004','金融学院'),('B005','建筑学院’);2.以文本文件的方式将数据装入到数据表employee,文件放在“D:\MYSQL\employee.txt”内。(可选命令可参考数据恢复)任务实施3.用insertinto语句一次性向salary表插入所有数据。数据如下:('100100',2000.00,4000.00,2266.00,1320.00,300.00,100.00),('100101',3000.00,5000.00,2278.00,1460.00,450.00,30.00),('100102',2500.00,4500.00,2500.00,1300.00,500.00,52.00),('100103',2600.00,4500.00,2300.00,1350.00,600.00,60.00),('100104',2400.00,4600.00,2500.00,1200.00,630.00,50.00),('100105',2600.00,3500.00,2300.00,1000.00,650.00,60.00),('100106',2400.00,4300.00,2600.00,1200.00,300.00,40.00),('100330
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏泰州泰兴农村商业银行招聘80人考试参考试题及答案解析
- 湖南省艺术研究院2026年高层次人才招聘2人考试参考试题及答案解析
- 2026年哈尔滨市征仪路学校临聘教师招聘5人考试备考试题及答案解析
- 2025江西南昌市建设投资集团有限公司招聘20人考试参考题库及答案解析
- 2026浙江宁波市奉化区甬台众创小镇开发建设有限公司招聘1人考试备考试题及答案解析
- 2026湖南常德市自来水有限责任公司遴选9人笔试备考试题及答案解析
- 2026广东龙门产业投资集团有限公司招聘职工3人考试参考题库及答案解析
- 2026黑龙江省文化和旅游厅所属事业单位招聘21人考试备考试题及答案解析
- 2026四川成都市成华区市场监督管理局招聘编外人员1人考试备考试题及答案解析
- 2026云南师范大学实验中学盘龙校区面向教育部直属师范大学开展公费师范毕业生招聘考试备考试题及答案解析
- 天津市八校联考2025届高三上学期1月期末考试英语试卷(含答案无听力原文及音频)
- 金太阳陕西省2025-2026学年高一上学期12月考试政治(26-167A)(含答案)
- 土木工程科学数据分析方法 课件 第3章 试验数据误差及处理 -
- 2026届辽宁省辽南协作校高一数学第一学期期末监测试题含解析
- 2026中国中式餐饮白皮书-
- 2025年北京航空航天大学马克思主义基本原理概论期末考试模拟题带答案解析(必刷)
- 江苏省2025年普通高中学业水平合格性考试语文试卷(含答案)
- 高一物理(人教版)试题 必修二 阶段质量检测(一) 抛体运动
- 2025年山东省枣庄市检察院书记员考试题(附答案)
- 医药连锁年终总结
- 2025-2026学年人教版七年级生物上册知识点梳理总结
评论
0/150
提交评论