c 批量更新mysql数据库_MySql批量更新方式大全

本篇文章仅仅是SQL语句针对MySQL数据库实现多条件不同值的批量更新的实现。不涉及到存储过程,其他开发语言的各种ORM框架实现。

数据库版本:mysql5.6

准备条件:

鉴与简单快速的理念,设计两张简单的不能再简单的表

用户表:t_user

部门表:t_dept

建表和数据语句,更新实例语句下载地址:

1. mysql更新符合单个条件的某一个字段的一条数据

UPDATE t_user u SET u.user_name = '张大山' WHERE u.user_id = 1;

2. mysql更新符合单个条件的某个更新内容相同字段的多条数据

UPDATE t_user u SET u.user_address = '广东深圳' WHERE u.user_id IN (2,3,4);

3. mysql更新符合单个条件的某个更新内容不同字段的多条数据

UPDATE t_user u

SET u.user_address = CASE u.user_id

WHEN 2 THEN '河北泊头富镇'

WHEN 3 THEN '河北泊头交河'

WHEN 4 THEN '河北泊头富镇赵村'

ELSE '鬼地方' END

WHERE u.user_id IN (2,3,4,5);

4. mysql更新符合多个条件的多个更新内容不同字段的多条数据

UPDATE t_user u

SET u.user_address = CASE u.user_id

WHEN 2 THEN '河北泊头富镇'

WHEN 3 THEN '河北泊头交河'

WHEN 4 THEN '河北泊头富镇赵村'

ELSE '鬼地方' END,

u.user_email = CASE u.user_id

WHEN 2 THEN '微信'

WHEN 3 THEN '公众号'

WHEN 4 THEN '程序员之路'

ELSE '一起成长' END

WHERE u.user_id IN (2,3,4,5) AND u.user_postcode = '062150';

5. mysql更新条件是通过多表链接查询出来的数据

UPDATE t_user u SET u.user_name = '程序员之路'

WHERE u.user_dept_id IN (

(SELECT t.dept_id FROM

(SELECT d.dept_id FROM t_user u LEFT JOIN t_dept d ON u.user_dept_id = d.dept_id) t

WHERE t.dept_id = 2));

6.mysql多表同时更新

UPDATE t_user u LEFT JOIN t_dept d ON u.user_dept_id = d.dept_id

SET u.user_name = '奋斗',d.dept_name = '苦逼';

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值