前言:今天有一个需求需要更新线上的数据库,大概三千多条,几张表还不在同一个库没法用连表的方式更新,只能是批量先查出来在更新,老大教了一个骚操作,在此记录一下。
本次用到的函数:
=CONCATENATE("update 表名 set 字段1 = '",A1,"',字段2 = '",B1,"' where 条件1 = '",C1,"' and 条件2 = '';")
其他sql语句同理,excel只是提供了替换的功能
1、查出来A库需要更新的字段
2、去B库查出要更新的字段对应的值
3、利用Excel CONCATENATE函数生成多条sql语句
4、复制出去执行
注意事项:sql in语句阿里代码规范建议in里面的条件少于1000条,大于的话此次就手动分批了
tips:查询出来很多数据这个时候我要放到in条件里,开发测试相信大家肯定经常碰到这个场景,我之前是拷贝出去然后用Alt+左键这种多行去加单引号双引号什么的,但是碰到长度不相同的就要单独加。
这次发现利用notepad或者editPlus的替换时会方便更多
- 1、Crtl+F唤出搜索框,选择替换
- 2、勾选正则表达式
^ 代表一行的首位
\r 代表一行的末位
其他的替换大家可以搜一下正则表达式