简介:
许多应用程序需要能够修改特定部分数据库中的字符串。如果需要单独更新多行,此任务可能会变得很麻烦。 MySQL 为这一挑战提供了一个方便的解决方案。
解决方案:
为了在单个查询中更新多行的字符串的一部分,MySQL 提供了 REPLACE() 函数。此函数将所有出现的指定子字符串替换为新值。
语法:
UPDATE table_name SET column_name = REPLACE(column_name, 'substring_to_replace', 'new_substring') WHERE condition;
示例:
考虑下表包含一个名为"description":
id | description |
---|---|
1 | something/string, something/stringlookhere |
2 | something/string/etcetera |
要将所有行中所有出现的“string”替换为“anothervalue”,请使用以下查询:
UPDATE table_name SET description = REPLACE(description, 'string', 'anothervalue');
结果:
id | description |
---|---|
1 | something/anothervalue, something/anothervaluelookhere |
2 | something/string/etcetera |
注意:如果您只想更新行包含指定子字符串的查询,请在查询中包含 WHERE 子句。例如,要仅更新“描述”字段中出现“字符串”的行:
UPDATE table_name SET description = REPLACE(description, 'string', 'anothervalue') WHERE description LIKE '%string%';
以上是如何通过单个查询更新 MySQL 中的部分字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!