2023年8月3日发(作者:)

sql的update语句批量更新某字段UPDATE TABLE t1 SET 1=

(SELECT code1 FROM TABLE2 t2 WHERE 2=2) -------条件,T1表的code1是T2表中的code1时WHERE EXISTS( SELECT T1中需要插⼊的存在于T2的字段 FROM TABLE2 t2 WHERE 2=2)

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 = (select from stu1 t1 where = )where exists(select 1 from stu1 t2 where = );7 多表关联update多字段update stu t set (, ) = (select , from stu1 t1 where = )where exists(select 1 from stu1 t2 where = );

UPDATE table1 aliasSET (column_name,column_name ) = (SELECT (column_name, column_name)FROM table2WHERE column_name = _name)WHERE column_name = VALUE

2023年8月3日发(作者:)

sql的update语句批量更新某字段UPDATE TABLE t1 SET 1=

(SELECT code1 FROM TABLE2 t2 WHERE 2=2) -------条件,T1表的code1是T2表中的code1时WHERE EXISTS( SELECT T1中需要插⼊的存在于T2的字段 FROM TABLE2 t2 WHERE 2=2)

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 = (select from stu1 t1 where = )where exists(select 1 from stu1 t2 where = );7 多表关联update多字段update stu t set (, ) = (select , from stu1 t1 where = )where exists(select 1 from stu1 t2 where = );

UPDATE table1 aliasSET (column_name,column_name ) = (SELECT (column_name, column_name)FROM table2WHERE column_name = _name)WHERE column_name = VALUE