大家好,我是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函数并不会直接改变记录的值。)
好了,今天的文章就分享到这里了,如果觉得我的文章对你有帮助,欢迎多分享给你身边的朋友。
我们下期再见!