mysql数据库替换语句_Mysql数据库字符串替换常用语句

站编辑工作有时需要对以前更新的某些内容进行修改,如果只是简单的几条数据,我们只需要直接去网站后台或者MYSQL数据表中修改即可,但如果需要批量修改大量同一字符串时,就需要灵活的选用MYSQL语句进行批量替换,常用Mysql数据库字符串替换语句如下

replace替换字符串的实现方法:

mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便。 mysql 替换函数replace()

代码如下

?UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%'

说明:

table_name —— 表的名字

field_name —— 字段名

from_str —— 需要替换的字符串

to_str —— 替换成的字符串

将web_cn0797表subject字段中的xxxxccc替换成 赖雪平

代码如下

UPDATE `web_cn0797`

SET `subject` = REPLACE(`subject`, 'xxxxccc', '赖雪平')

WHERE INSTR(`subject`,'xxxxccc') > 0替换web_cn0797表的message字段,将“viewthread.php?tid=3989”

替换成“viewthread.php?tid=16546”

代码如下

UPDATE `web_cn0797`

SET `message`= REPLACE(`message`, 'viewthread.php?tid=3989', 'viewthread.php?tid=16546')

WHERE INSTR(`message`,'viewthread.php?tid=3989')  >  0 ;

删除所有的空格

代码如下

UPDATE `es_product`   SET `pro_pub_time` = TRIM(`pro_pub_time`)

删除所有饱含’['或者']‘或者’.'的字符

代码如下

UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '[','')

WHERE INSTR(`pro_pub_time`,'[')  >  0UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, ']','')

WHERE INSTR(`pro_pub_time`,']')  >  0UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '.','-')

WHERE INSTR(`pro_pub_time`,'.')  >  0

替换所有含中文’-'的为英文’-’

UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '-','-')

WHERE INSTR(`pro_pub_time`,'-')  >  0将所有的年月都替换成’-’

代码如下

UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '年','-')

WHERE INSTR(`pro_pub_time`,'年')  >  0UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '月','-')

WHERE INSTR(`pro_pub_time`,'月')  >  0

将所有’2005-04-’这种类型的替换成’2005-04-01′

代码如下

UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '01')

WHERE SUBSTRING_INDEX( `pro_pub_time`, '-', -1) = '' AND LENGTH(`pro_pub_time`) > 0

AND LENGTH(`pro_pub_time`)  >  5

将所有’2005-’这种类型替换成’2005-01-01′

代码如下

UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '01-01')

WHERE INSTR(`pro_pub_time`,'-')  >  0 AND   LENGTH(`pro_pub_time`) = 5

将所有 饱含’-',但是位数小于8的改成追加’-01′

代码如下

UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '-01')

WHERE INSTR(`pro_pub_time`,'-')  >  0 AND   LENGTH(`pro_pub_time`)  >  8

将所有’2005′这样的改成’2005-01-01′

代码如下

UPDATE `es_product`   SET `pro_pub_time` = CONCAT(`pro_pub_time`,'-01-01')

WHERE INSTR(`pro_pub_time`,'-') = 0 AND   LENGTH(`pro_pub_time`) = 4

最后将所有’2005-01-01′格式化成’2005年01月’

代码如下

UPDATE `es_product`

SET `pro_pub_time` = DATE_FORMAT(`pro_pub_time`,'%Y年%m月')

WHERE INSTR(`pro_pub_time`,'-')  >  0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值