SQL如何更新记录?

大家好,我是RecordLiu!

今天给大家分享的是如何在SQL更新数据,我会用一道真题来给大家讲解。

题目直达链接:牛客网SQL练习网站

切换到SQL篇的SQL进阶挑战就能看到了。

接下来,我们详细看看。

题目:更新字段

描述

现有一张试卷信息表examination_info,表结构如下:

请你把examination_info表中tag为PYTHON的tag字段全部修改为Python。

题目最终将会执行以下语句来对比结果:

SELECT exam_id,tag,difficulty,duration,release_time FROM examination_info
题解

SQL中更新记录可以使用以下语法:

UPDATE tableName 
SET column1=value1[,column2=value2...] [WHERE xxx]

更新多个字段可以使用英文逗号进行分割,如果不指定where条件,将对表进行全量更新。

在线上执行更新语句时,尤其要注意条件语句的指定,否则,会对表里面的所有记录进行更新,很可能会引起一次不小的线上事故。

所以,这道题,你可以这样实现:

UPDATE examination_info 
SET tag='Python' WHERE tag='PYTHON';

在你写出这道题后,面试官接着向你提问,假设tag字段的值存在如CPYTHON这样的值,现在要把字符串中的PYTHON替换成Python,即最终结果为CPython,该如何解这道题呢?

字符串的局部替换我们可以使用replace函数,具体使用如下:

UPDATE examination_info 
SET tag=REPLACE(tag,'PYTHON字符串替换为','Python') WHERE tag LIKE'%PYTHON%';

这道题中,首先要使用like进行模糊匹配,将字段tag中包含PYTHON字符串的记录筛选出来,然后再使用REPLACE函数将tag中的PYTHON字符串替换为Python。

注意,要把运用REPLACE函数后的返回值重新赋值给字段tag,否则,更新并不会生效。(直接使用REPLACE函数并不会直接改变记录的值。)

好了,今天的文章就分享到这里了,如果觉得我的文章对你有帮助,欢迎多分享给你身边的朋友。

我们下期再见!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值