sql的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函数
特别的思路,可以替换复杂规则的字符(⼀定要看)
1、将⽬标数据,借助navicat等⼯具,可以导出为update sql
2、既然是update纯⽂本了,就可以⽤notepad++记事本⼯具,批量替换了
3、替换时可以⽤正则匹配替换,正则匹配详见这篇⽂章正则匹配html标签_匹配两字符串之间内容_匹配image标签
------------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 = lumn_name)
WHERE column_name = VALUE
————————————————
版权声明:本⽂为CSDN博主「yfx000」的原创⽂章,遵循CC 4.0 BY-SA版权协议,转载请附上原⽂出处链接及本声明。原⽂链接:blog.csdn/yfx000/article/details/83409683
=============================
sql语句替换表中内容
update `user` set sex = '1';

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。