前言
最近有个需求,不同的环境的ip和端口都不一样,所以就要修改表里面字段的值
但是手动修改比较麻烦而且很慢,所以在网上搜了下相关的方法。经过手动实践确实可行,下面分享给大家
准备fake数据
为了方便演示,准备一个表和几个字段,随便给点值:
可以看到,我有三个字段分别为url1,url2,url3,假设这三个字段中存放的都是文件路径。
接下来进行修改
replace函数
使用replace函数进行文本替换,replace(p1,p2,p3)
它是mysql自带的函数,有三个参数:
p1:要修改的字段
p2:要修改的值
p3:想要被修改的值
通常的语法为:
update 表名 set 字段=replace(字段,'被替换的值','想要被替换的值')
简单的介绍完之后,下面进入实战
比如现在我想要http://localhost:8099换成http://www.baidu.com
字段文本替换
如果要进行单个字段修改,我们可以这样:
update url_test set url1=replace(url1,'http://localhost:8099','http://www.baidu.com')
执行语法,发现修改了3行:
再来查看表里,发现url1字段中的值确实是修改了:
数据量大的情况
当然上述方式只适用于数据量小的情况下,如果数据量很大,我们可以把ip+端口作为一个变量,统一使用。