lqtest 大佬有话说 :
mysql 数据批量替换,求思路及办法,现在太原始了
本帖最后由 lqtest 于 2020-2-21 11:20 编辑
数据库里面有100张表每张表里 都有需要替换的数据A 替换成B 数值都是固定的。
现在的 办法是 查询里面 执行
UPDATE `表1` SET 字段=replace(字段,’原数值A’,’替换值B’)
UPDATE `表2` SET 字段=replace(字段,’原数值A’,’替换值B’)
。
。
。
UPDATE `表100` SET 字段=replace(字段,’原数值A’,’替换值B’)
100张表执行100次 有没有大佬指点下?
Tcp80 大佬有话说 :
花生瓜子巧克力
lqtest 大佬有话说 :
Tcp80 大佬有话说 : 2020-2-21 11:17
花生瓜子巧克力
…………..给点思路
忘江湖 大佬有话说 :
要么sql写个循环的存储过程。要么就用php啊什么的之类的语言,写个循环执行UPDATE一样即可。
cnly1987 大佬有话说 :
如果你不觉得蛋疼的吧,用SHELL或者PYTHON来做。
链接数据库。 把要改的表做一个数组。
遍历表执行update
lqtest 大佬有话说 :
cnly1987 大佬有话说 : 2020-2-21 11:21
如果你不觉得蛋疼的吧,用SHELL或者PYTHON来做。
链接数据库。 把要改的表做一个数组。
遍历表执行update …
求shell
hellowz 大佬有话说 :
导出数据库,然后vim命令:%s/str1/str2/g 然后导入
aRNoLD 大佬有话说 :
7楼的办法比较好,导出sql后直接改,emeditor、sublime都可甚至写字板都可以做,改完后再导入回去就行了。
或者在shell下面给mysql命令加个-e,例如下面这样的
mysql -uUSER –password=’PASSWORD’ -e "mysql命令;"
把这个命令给循环一下,100条不会很难。
不过直接的查询代换好象也没什么问题吧,mysql的update应当是可以跑的
林哈哈 大佬有话说 :
如果数据量不大的话七楼方法好,注意备份。