zoukankan      html  css  js  c++  java
  • 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 = 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';

  • 相关阅读:
    Java中如何解决double和float精度不准的问题
    Linux防火墙Firewall和Iptables的使用
    yum 彻底删除nodejs,重新安装
    hbase集群搭建参考资料
    10分钟教你打造一个微信语音点歌系统
    微信公众平台向特定用户推送消息
    圆角与半角互相转换
    Swagger简单介绍
    测试通过!为何线上还有很多BUG?实践中的质量控制
    AXURE插件在 Chrome 浏览器中用不了怎么办?
  • 原文地址:https://www.cnblogs.com/apolloren/p/14727258.html
Copyright © 2011-2022 走看看