Mysql替换字段中的指定文本

前言

最近有个需求,不同的环境的ip和端口都不一样,所以就要修改表里面字段的值

但是手动修改比较麻烦而且很慢,所以在网上搜了下相关的方法。经过手动实践确实可行,下面分享给大家

准备fake数据

为了方便演示,准备一个表和几个字段,随便给点值:

Mysql替换字段中的指定文本_第1张图片

可以看到,我有三个字段分别为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行:

Mysql替换字段中的指定文本_第2张图片

再来查看表里,发现url1字段中的值确实是修改了:

Mysql替换字段中的指定文本_第3张图片

数据量大的情况

当然上述方式只适用于数据量小的情况下,如果数据量很大,我们可以把ip+端口作为一个变量,统一使用。

你可能感兴趣的:(mysql,数学建模,数据库)