使用正则表达式在MySQL中搜索和替换

时间:2015-03-03 22:22:10

标签: mysql regex

我正在尝试在MySQL中编写一个查询来更新字段,方法是在现有文本的开头添加一个新的文本字符串,创建一个新行,然后添加原始文本。

我已经查看了regexp,但我不确定我是否正确使用它,因为我的查询似乎不适用于匹配。

我使用的查询如下:

UPDATE table_name SET field = REPLACE(field, 'REGEXP ^', ''new_text' REGEXP \n field');

^表示我希望在字段中更新的字符串的开头(文本的开头)。

替换文本由new_text字符串,新行(\ n)和原始字段组成。

我对MySQL比较陌生,所以对这个查询的结构以及是否可以实现的任何见解都将非常感激。

1 个答案:

答案 0 :(得分:0)

你不需要正则表达式。

如果你有一张人的表

+----+-------+
| id | name  |
+----+-------+
|  1 | Bob   |
|  2 | Frank |
+----+-------+

否则

UPDATE people SET name = CONCAT('Mr. ', name) WHERE id = 1;

会给你

+----+---------+
| id | name    |
+----+---------+
|  1 | Mr. Bob |
|  2 | Frank   |
+----+---------+