MySQL是一種十分常見的關系型數據庫,很多項目中都會使用到它。在日常開發中,有時會需要替換多個表中的某個字符串,這時候可以借助MySQL的內置函數實現替換。
下面介紹兩種常見的替換多個字符串的方式:
-- 方式一:使用 CONCAT 和 REPLACE 函數 UPDATE table1 SET column1 = REPLACE(column1, 'old_string', 'new_string'), column2 = CONCAT(column2, 'suffix') WHERE condition; UPDATE table2 SET column3 = REPLACE(column3, 'old_string', 'new_string'), column4 = CONCAT(column4, 'suffix') WHERE condition; -- 方式二:使用 IF 函數 UPDATE table1 SET column1 = IF(LOCATE('old_string', column1), REPLACE(column1, 'old_string', 'new_string'), column1), column2 = CONCAT(column2, 'suffix') WHERE condition; UPDATE table2 SET column3 = IF(LOCATE('old_string', column3), REPLACE(column3, 'old_string', 'new_string'), column3), column4 = CONCAT(column4, 'suffix') WHERE condition;
以上兩種方式均可實現替換多個表中的字符串,方式一較為簡潔,但是需要寫多個更新語句;方式二使用了 IF 函數,在替換的同時可以進行更多的條件判斷,使用較為靈活。
需要注意的是,對于包含單引號(')或雙引號(")的字符串,應該使用轉義字符進行轉義,否則會導致語法錯誤。
上一篇mysql字符串規則