题解 | #SQL 4.更新记录(一)#

更新记录(一)

http://www.nowcoder.com/practice/bfe8ad2bddc540fc911614aa648868b3

明确考点:

修改记录的方式汇总:

  • 设置为新值:UPDATE table_name SET column_name=new_value [, column_name2=new_value2] [WHERE column_name3=value3]
  • 根据已有值替换:UPDATE table_name SET key1=replace(key1, '查找内容', '替换成内容') [WHERE column_name3=value3]

细节剖析:

  • tag为PYTHON的tag字段全部修改为Python

思路实现:

  • 本题采用两种修改方式均可,语义为『当tag为PYTHON时,修改tag为Python』,先用第一种:
UPDATE examination_info
SET tag = "Python"
WHERE tag = "PYTHON";
  • 如果采用第二种,写作:
UPDATE examination_info
SET tag = REPLACE(tag, "PYTHON", "Python")
WHERE tag = "PYTHON";
  • 思维扩展:第二种方式不仅可用于整体替换,还能做子串替换,例如要实现将tag中所有的PYTHON替换为Python(如CPYTHON=>CPython),可写作:
UPDATE examination_info
SET tag = REPLACE(tag, "PYTHON", "Python")
WHERE tag LIKE "%PYTHON%";
SQL进阶 文章被收录于专栏

SQL进阶step by step

全部评论
做子串替换 不用加where条件了吧
点赞 回复 分享
发布于 2023-02-02 11:00 上海
为什么第二种效率更高呐
点赞 回复 分享
发布于 2022-09-04 10:54 黑龙江
UPDATE examination_info SET tag = "Python" WHERE tag LIKE "%PYTHON%"; 第一种的WHERE语句这样写可以吗? 大佬
点赞 回复 分享
发布于 2022-07-24 15:35
为什么第二种方法要用WHERE, 我尝试了不用WHERE运行,结果也对了。
点赞 回复 分享
发布于 2022-03-21 07:01

相关推荐

05-03 12:45
西南大学 Java
nsnzkv:你这项目写的内容太多了,说实话都是在给自己挖坑,就算简历过了,后面面试也难受
点赞 评论 收藏
分享
06-06 03:40
已编辑
电子科技大学 Java
在秋招的小白菜很想养修勾:一眼 苍穹外卖+谷粒商城,项目换一换吧,可以找一些付费知识星球博主带带,避免烂大街。多投投大厂,背背八股,你这学历乱杀了,等实习经验到位,到时候大厂闭眼选
投递美团等公司7个岗位
点赞 评论 收藏
分享
评论
298
37
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务