最近需要批量更新大量数据,习惯了写sql,所以还是用sql来实现,update A set a='123' where code in (select code from B);,以前都是这样处理,不过因为表B是一个大表,数据量特别多,执行特别耗时,所以后面想到通过查询大量数据,然后再放在in里面,不过因为之前用惯了oracle,知道in只能支持1000条数据,不知道mysql里竟然没有这个限制,不知道是否可以通过SQL_MODE属性设置,所以还是记录起来。
然后这些数据可以查出来,不过都是没有加上双引号的,所以可以在notepad++里进行处理
在大量数据前面,可以按Alt健,然后再加上,不过觉得数据量太多,还是麻烦,所以可以通过正则表达式的方法进行批量替换,按Ctrl+H,查找模式选择正则表达式,查找目标写为^,替换为",然后点全部替换
替换后面的,同样,查找目标写为$,替换为",,点全部替换
ok,数据就可以很快处理好了,还要借助Excel的筛选功能,数据处理好之后,就可以将数据复制到sql的in里,批量更新,数据相对快很多









