MySQL update语句 批量更新某字段

Mysql:

1 有时候要实现字段的批量替换

update 表名 set 字段A = replace(字段A ,"png","jpg" );

 

2 批量拼接字符串到某字段

update 表名 set 字段A = CONCAT( 字段A  , "xxx"  );

update 表名 set 字段A = CONCAT( "yyy" , 字段A  , "xxx"  );

 

3 批量截取某字段,扔掉开始的4个字符

update 表名 set 字段A=SUBSTR(字段A,4);

 

4 批量截取某字段,保留结尾的3个字符
update 表名 set 字段A=SUBSTR(字段A,-3);

 

5 批量截取某字段,去掉结尾的2个字符

update 表名 set 字段A=SUBSTR(字段A,1,LENGTH(字段A)-2);

 

更详细的方法请参考MYSQL的SUBSTR函数

 

------------update+select----------------------------------以下是互联网收集,用的时候再仔细验证

/*
  多表关联update的时候,记得要加exists()条件,否则不满足条件的记录被update称NULL:
  比如:stu表存在,但stu1表不存在的数据,对应的字段会被updat成NULL;
*/

6 多表关联update单字段
update stu t set t.NAME = (select t1.NAME from stu1 t1 where t1.ID = t.ID)
where exists(select 1 from stu1 t2 where t2.ID = t.ID);

7 多表关联update多字段
update stu t set (t.NAME, t.SEX) = (select t1.NAME, t1.SEX from stu1 t1 where t1.ID = t.ID)
where exists(select 1 from stu1 t2 where t2.ID = t.ID);

 

UPDATE table1 alias
SET (column_name,column_name ) = (
SELECT (column_name, column_name)
FROM table2
WHERE column_name = alias.column_name)
WHERE column_name = VALUE

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值