搜尋取代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 這是一門跟程式語言一樣的學問,不過本身對這方面並不善長,此文僅提供個人經驗參考,要了解更細的方法請自行參照其他資訊。