SQL如何更新记录?

大家好,我是RecordLiu!

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

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

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

SQL如何更新记录?_第1张图片

接下来,我们详细看看。

题目:更新字段

描述

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

SQL如何更新记录?_第2张图片

请你把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函数并不会直接改变记录的值。)

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

我们下期再见!

你可能感兴趣的:(SQL入门,Mysql,sql,数据库,mysql)