酷站(www.ku0.com)-致力于为互联网从业者提供动力!

热门关键词:  企业  as  baidu  c4rp3nt3r  美女
阿里云爆款特惠,精选爆款产品低至0.55折
酷站

mysql update case更新字段值不固定的操作

来源:转载 作者:秩名 人气: 发布时间:2021-02-04
本篇文章主要介绍了mysql update case更新字段值不固定的操作,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

在处理批量更新某些数据的时候,如果跟你更新的字段的值都一样,比如某个状态都更新为某个固定值,

直接用update table set xxx=xxx where xxx=xxx 这种即可

如果要更新的字段的值是不固定的,用下面的update case when where 这种方式就更方便了

UPDATE tablename
set a1= CASE userid
 WHEN 1 THEN a1+5 
 WHEN 2 THEN a1+2 
 END,
a2= CASE userid
 WHEN 1 THEN a2-5
 WHEN 2 THEN a2-2
END
where userid in (1,2)

用update case when 更新的时候一定要带上 where 条件,否则会更新整张表,后果很严重。

补充:Mysql update && case when 联合使用 批量更新

直接码sql:

room字段值为 18F-N01 这种格式

UPDATE t_report SET room = CONCAT_WS( '-', SUBSTRING_INDEX(room, '-', 1) ,
 CASE SUBSTRING_INDEX(room, '-', -1)
 WHEN 'N01' THEN 'N02'
 WHEN 'N02' THEN 'N01'
 WHEN 'N03' THEN 'N11'
 WHEN 'N04' THEN 'N10'
 WHEN 'N05' THEN 'N09'
 WHEN 'N06' THEN 'N08'
 WHEN 'N07' THEN 'N07'
 WHEN 'N08' THEN 'N06'
 WHEN 'N09' THEN 'N05'
 WHEN 'N10' THEN 'N03'
 END )
WHERE rid IN (
 SELECT rid FROM t_report WHERE rdate = '190306' AND ordinal BETWEEN '23' AND '32'
)
 

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://blog.csdn.net/u010533511/article/details/89671605

相关文章

  • 使用SQL语句实现一个年会抽奖程序的代码

    使用SQL语句实现一个年会抽奖程序的代码

    年关将近,抽奖想必是大家在公司年会上最期待的活动了。如果老板让你做一个年会抽奖的程序,你会怎么实现呢?今天给大家介绍一下如何通过 SQL 语句来实现这个功能。实现的原理其实非常简单,就是通过函数为每个人分配一个随机数,然后取......
    02-04
  • mysql update case更新字段值不固定的操作

    mysql update case更新字段值不固定的操作

    在处理批量更新某些数据的时候,如果跟你更新的字段的值都一样,比如某个状态都更新为某个固定值, 直接用update table set xxx=xxx where xxx=xxx 这种即可 如果要更新的字段的值是不固定的,用下面的update case when where 这种方式就......
    02-04
  • mysql密码中有特殊字符&在命令行下登录的操作

    mysql密码中有特殊字符&在命令行下登录的操作

    在服务器上,通常为了快速登录数据库,我们会使用mysql -hhost -uusername -ppassword db的方式登录数据库,如果密码中没有特殊字符,会直接进入数据库sql命令行下,如果有特殊字符,那么就会出现如下提示: -bash: syntax error near un......
    02-04
  • MySQL修改字符集的教程

    MySQL修改字符集的教程

    在 MySQL 中,系统支持诸多字符集,不同字符集之间也略有区别。目前最常用的字符集应该是 utf8 和 utf8mb4 了,相比于 utf8 ,utf8mb4 支持存储 emoji 表情,使用范围更广。本篇文章将会介绍 utf8 修改成 utf8mb4 字符集的方法。 1. utf8......
    01-26
  • 详解SQL函数将某个字段合并在一起的操作

    详解SQL函数将某个字段合并在一起的操作

    最近遇到需要将关联表中的某个字段全部查询出来并且重新组合为一个字段,这个时候普通的连接查询就满足不了需求了,需要用到SQL函数来完成: ALTER function dbo.getResCodesByOwnerId(@OwnerId INT)returns nvarchar(2000)asbeginDECLAR......
    01-22
  • 详解Mysql合并结果接横向拼接字段

    详解Mysql合并结果接横向拼接字段

    前言: 近日在做一个报表功能里面有一个这样的需求是统计各部门在某一月入职和离职的人数 我的步骤 先查出入职的人数 1 2 3 4 5 SELECT dept , COUNT (1) rcNumber FROM 员工表 WHERE ( 入职时间 != OR 入职时间 IS NOT NULL ) and DATE_......
    01-15
  • MySQL explain获取查询指令信息原理介绍

    MySQL explain获取查询指令信息原理介绍

    explain用于获取查询执行计划信息, 一、语法 只需要在select前加上explain即可,如: mysql explain select 1;+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------......
    05-15
  • mysql查询每小时数据和上小时数据的差值的实现方法

    mysql查询每小时数据和上小时数据的差值的实现方法

    一、前言 需求是获取某个时间范围内每小时数据和上小时数据的差值以及比率。本来以为会是一个很简单的 sql ,结果思考两分钟发现并不简单,网上也没找到参考的方案,那就只能自己慢慢分析了。 刚开始没思路,就去问 DBA 同学,结果 DBA ......
    04-25
  • mysql条件查询and or使用方法及优先级

    mysql条件查询and or使用方法及优先级

    mysql and与or介绍 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。 使用OR关键字时: 只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来。 如果不符合这些查询条件中的任何一条,这样的记录将被排除掉。 使用a......
    04-23
  • MySQL表中非主键列溢出情况监控的介绍

    MySQL表中非主键列溢出情况监控的介绍

    这次遇到的坑,更加的隐蔽。 是一个log表里面的一个int signed类型的列写满了。快速的解决方法当然还是只能切新表来救急了,然后搬迁老表的部分历史数据到热表。 亡羊补牢,处理完故障后,赶紧写脚本把生产的其他表都捋一遍。 下面是我暂......
    04-20

最新更新