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 = alias.column_name)
WHERE column_name = VALUE
————————————————
版權聲明:本文為CSDN博主「yfx000」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/yfx000/article/details/83409683
=============================
update `user` set sex = '1';
