0


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+100where Sid=10;

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

2. 更新多行数据

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

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

update students set Sid=Sid+500where 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

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

执行结果:

在这里插入图片描述

标签: sql 数据库 database

本文转载自: https://blog.csdn.net/qq_40236497/article/details/124643453
版权归原作者 henry_rhy 所有, 如有侵权,请联系我们删除。

“SQL入门之第八讲——UPDATE更新语句”的评论:

还没有评论