SQL入门之第八讲——UPDATE更新语句

定义:UPDATE更新语句是用来修改表中一条数据或者多条数据记录

基本语法:

UPDATE <表名> SET <字段名=> WHERE <筛选条件>;

1. 更新单行数据

实例1:在学生表中,将学生编号Sid为6的学生姓名Sname修改为:杨红梅

update students set Sname='杨红梅' where Sid = 6;

执行结果:
在这里插入图片描述

  • SET后面除了带文本之外,还可以是数学表达式

实例2:在学生表中,将学生编号Sid为10的学生姓名对应的Tid加100

update students set Tid=Tid+100 where Sid=10;

执行结果:
在这里插入图片描述

2. 更新多行数据

  • 让where 条件筛选更多的记录,就会同时更改多条数据记录了

实例3:在学生表中,将性别为 ‘女’ 的学生,学生编号加500

update students set Sid=Sid+500 where Ssex = '女';

执行结果:

在这里插入图片描述

3. UPDATE语句与子查询的搭配使用

  • 子查询的定义:子查询是查询语句里面嵌套的查询语句,子查询的结果将作为主查询的查询条件,来完成更加复杂的数据检索
  • 那UPDATE语句是如何与子查询来进行搭配使用的呢,本质上就是将子查询与where子句结合来使用

实例4:在学生表中,将查询出班主任为:高静的学生性别修改为:女生

解析:在学生表中只有教师编号Tid,并没有教师姓名Tname, 所以需要先在教师表中查询出高静的id

update students set Ssex = '女生' 
where Tid = (select Tid from teachers where Tname = '高静');

执行结果:
在这里插入图片描述

  • 如果子查询中返回的是多个数据时,就不能用等号了,需要用IN

实例5:在学生表中,将班主任为:魏平 、宋明 和 黄江的学生性别都修改为:男生

解析:子查询中返回多个Tid, 这时候就需要用到IN

# 第一步:先将子查询写出,查询出对应的id
select Tid from teachers where Tname IN('魏平','宋明','黄江');

# 第二步:在将子查询加入到where条件中,使用update进行更新
update students set Ssex = '男生' 
where Tid IN (
select Tid from teachers where Tname IN('魏平','宋明','黄江'));

执行结果:

在这里插入图片描述

  • 46
    点赞
  • 208
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值