mysql-数据更新操作
建立的数据库
student数据表: course数据表:
sc数据表:
(1)、给IS系的学生开设7号课程,建立相应的选课记录,成绩为空。
insert intosc select student.sno,'7',null from student where student.sdept='Is';
(2)、在表student中检索每门课均不及格的学生学号、姓名、年龄、性别及所在系的信息,并把检索到的信息存入新表ts中。
首先修改sc中的成绩,使得有3人的成绩均不及格:
insertinto sc value ('2005001',1,50);
insertinto sc value ('2005001',2,50);
insertinto sc value ('2005001',3,50);
insertinto sc value ('2005002',2,50);
insert intosc value ('2005003',3,50);
然后创建数据表并查询:
droptable if exists ts;
createtable ts(sno char(20) primary key, sname varchar(20), sage int(20), ssexchar(20), sdept char(20));
insert into ts (select * from student where sno in (select sno from sc group by sno havingmax(grade)<60));
INSERT INTO TS SELECT * FROM STUDENT WHERE 60 > ALL (SELECT GRADE FROM SC WHERE SC.SNO=STUDENT.SNO)
INSERT INTO TS SELECT * FROM STUDENT WHERE 60 >(SELECT MAX(GRADE) FROM SC WHERE SC.SNO=STUDENT.SNO)
INSERT INTO TS SELECT * FROM STUDENT WHERE NOT EXISTS (SELECT GRADE,SNO FROM SC WHERE SC.SNO=STUDENT.SNO AND GRADE>=60)
INSERT INTO TS SELECT * FROM STUDENT WHERE SNO IN (SELECT SNO FROM SC WHERE SNO NOT IN (SELECT SNO FROM SC WHERE GRADE>59))
(3)、将学号为2005001的学生姓名改为刘华,年龄增加一岁。
更新前为:
更新后:
updatestudent set sname='刘华', sage=sage+1 where sno = '2005001';
(4)、把选修了“数据库系统”课程而成绩不及格的学生的成绩全部改为空值。
增加一个学生的数据库系统成绩不及格:
insert intosc value ('2005002',1,59);
修改成绩:
update sc setgrade=null where grade < 60 and cno in (select cno from course where cname='数据库系统');
(5)、学生王林在3号课程考试作弊,该课程成绩改为空值。
增加王林在3号课程的成绩:
insert intosc value ('2005002',3,100);
修改成绩:
update sc setgrade=null where cno=3 and sno in (select sno from student where sname='王林');
(6)、把成绩低于总平均成绩的女同学成绩提高5%。
注释掉增加的两条数据,按照原始数据库:
selectavg(grade) from sc;
得到平均成绩:
选择两个女生的信息将成绩改为低于平均成绩:
insertinto sc value ('2005002',2,70);
insert intosc value ('2005004',4,70);
update sc set grade=1.05*grade where grade<(select avg(grade) from (select * from sc) as s) and sno in (select sno from student where ssex='女');
注意这里需要使用别名,因为不能同时更新sc又在sc中选择数据。
更新后为:
(7)、在基本表sc中修改课程号为2的课程成绩,成绩小于等于80分时降低2%,成绩大于80分时降低1%,用两个update语句实现。
update scset grade=0.98*grade where cno=2 and grade <=80;
update sc setgrade=0.99*grade where cno=2 and grade >80;
小于80分原成绩:
修改后:
大于80分原成绩:
修改后:
(8)、把钱横的选课记录全部删去。
因为在第三小题中把钱横的名字改成刘华了,所以已经没有了钱横的数据。注释掉第三小题的代码,重新运行一遍,就恢复了钱横的信息。
delete fromsc where sno in (select sno from student where sname='钱横');
删除之后,打开sc数据表,已经没有了学号为2005001的数据。
(9)、可以删除2005001的学生记录吗?
可以删除,但是由于sno是sc参照student的外键,所以必须要先删除sc中的信息,再才能删除student中的信息。
deletefrom sc where sno='2005001';
delete fromstudent where sno='2005001';
mysql-数据更新操作相关推荐
- MySQL数据更新操作
文章目录 前言 添加数据 插入数据 删除数据 修改数据 前言 提示:这里可以添加本文要记录的大概内容: 数据更新有两种办法: 1:使用数据可视化工具操作(简单) 2:SQL语句(容易出错,但必须要会) ...
- MySQL 冷备份操作 + shell 脚本自动备份
背景 对于概念的说明不做赘述 个人觉得冷备份数据除了操作方法简单,最大的优点便是安全 为了对比,可参考前面整理的 -- [MySQL 使用 XtraBackup 进行数据热备份指导 [全量+增量]] ...
- (Java数据库编程基础操作)Statement实现数据更新操作
数据更新操作 在SQL数据库之中对于数据的更新操作一共分为三类: 数据增加.数据修改.数据删除,而且这三类的处理操作只要编写正常的SQL语句即可,而Statement接口最大的特点是可以直接执行完整的 ...
- 合肥工业大学—SQL Server数据库实验六:数据更新操作
数据更新操作 1. 数据插入 2. 数据修改 3. 数据删除 1. 数据插入 依次将准备好的数据用Insert Into语句将数据插入相应的基本表: 正确数据的插入,这些数据应该不会违反完整性约束 注 ...
- mysql dba系统学习(19)配置mysql+lvs+keeplived实现Mysql读操作的负载均衡
配置mysql+lvs+keeplived实现Mysql读操作的负载均衡 环境: test1192.168.46.131master test2192.168.46.130slave备份test库 t ...
- mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作
使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...
- Linux中mysql的操作
一.mysql服务操作 二.数据库操作 三.数据表操作 四.修改表结构 五.数据备份和恢复 六.卸载数据库 转载于:https://www.cnblogs.com/clover-siyecao/p/5 ...
- MySQL—02—MySQL的操作
一.MySQL的操作 1. 创建与删除数据库 1.1使用命令创建数据库 创建一个 test 的数据库,并查看该数据库,以及该数据库的编码. 创建数据库: create database test d ...
- mysql dba系统学习(18)mysql主从复制的实现 mysql dba系统学习(19)配置mysql+lvs+keeplived实现Mysql读操作的负载均衡
mysql主从复制的实现 1.MySQL复制的实现原理 MySQL支持单向.双向复制.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入一个二进制日志文 ...
- MySQL误操作后如何快速恢复数据
基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表都没了.假如这还是线上环境核心业务数据,那这事就闹大 ...
最新文章
- 一文掌握明年物联网传感器市场!2022中国AIoT产业全景图谱报告新鲜出炉
- adb shell dumpsys 命令 查看内存
- VS2013+opencv2.4.9配置步骤详解
- 矿泉水功能突破口-丰收节交易会·李喜贵:遵义谋定水产业
- 【渐进】浅尝DDD,对试卷建模
- Java当中编码和解码(以及出现乱编码的原因)
- Struts入门(三)深入Struts用法讲解
- Linux内核初探3
- 小熊的人生回忆(八)
- 问题 I: Sequence Problem : Array Practice
- TensorFlow windows之Tensorboard使用
- python中常见的运行时错误_python--17个新手常见Python运行时错误
- 4图纸 rust_安诺伊模具丨机加工图纸有英语看不懂?不怕!史上最全翻译都在这...
- MaxPooling里面的padding
- 【数据治理】数据治理工具-元数据管理
- 使用组策略批量禁用u盘
- 工业革命4.0是光和算的革命,时代呼唤硬科技!
- vue-quill-editor编辑器踩坑
- CF1525C Robot Collisions(思维,类似括号匹配)
- 前端常见面试题及答案