搜寻取代SQL资料库内容 (mariadb mysql)

搜寻取代SQL资料库内容 (mariadb mysql)

在此时刚好要建立一个备份站内容与上线站内容一样进行测试才方便,不过转移过程中发现资料库内容有关于网站连结并需要进行大量的修改成备份站的网域名称,所以查询Google后发现这是一件不难的事,SQL提供Replace命令可以进行字串内容搜寻取代功能:

REPLACE(栏位名称, 搜寻内容, 取代内容)

在此之前先进行测试一下结果内容是否符合取代的内容,

SELECT REPLACE (栏位名称, 搜寻内容, 取代内容))
FROM 资料表名称;

可以利用phpMyAdmin进行辅助:

确定内容无误后进行实际的替换:

update 资料表名称 set 栏位名称 = replace(栏位名称, '搜寻内容', '取代内容');

例如:

  • 资料表名为:wp_wp_table

  • 栏位为:table_name

  • 搜寻内容:ABC Word

  • 取代内容:DEF Word

update wp_wp_table set table_name = replace(table_name, 'ABC Word', 'DEF Word')

phpMyAdmin上执行结果:

参考资料

How to Find and Replace Text in MySQL Database using SQL

SQL Replace 函数

注:SQL 这是一门跟程式语言一样的学问,不过本身对这方面并不善长,此文仅提供个人经验参考,要了解更细的方法请自行参照其他资讯。