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('魏平','宋明','黄江'));
执行结果:
更多推荐
已为社区贡献8条内容
所有评论(0)