如何使用 MySQL replace() 替换多条记录中的字符串?


replace() 函数可用于将字符串替换为另一个字符串。为了理解 replace(),我们需要创建一个包含一些记录的表。以下是用于创建表的查询。

mysql> create table replaceDemo
   -> (
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (0.55 sec)

通过 INSERT 命令插入一些记录。用于插入记录的查询如下:

mysql> insert into replaceDemo values('John');
Query OK, 1 row affected (0.17 sec)

mysql> insert into replaceDemo values('Demo');
Query OK, 1 row affected (0.16 sec)

mysql> insert into replaceDemo values('Smith');
Query OK, 1 row affected (0.13 sec)

mysql> insert into replaceDemo values('Demo');
Query OK, 1 row affected (0.14 sec)

mysql> insert into replaceDemo values('Carol');
Query OK, 1 row affected (0.14 sec)

让我们查看表“replaceDemo”中存在的记录。查询如下。

mysql> select *from replaceDemo;

以下是一个示例。

+-------+
| Name  |
+-------+
| John  |
| Demo  |
| Smith |
| Demo  |
| Carol |
+-------+
5 rows in set (0.00 sec)

上面,我在表中两次输入 Demo 值,我想将“Demo”替换为名称“Amit”。为此,我们可以使用 MySQL 的 replace() 函数。查询如下:

mysql> UPDATE replaceDemo
   -> SET Name = REPLACE (Name, 'Demo', 'Amit')
   -> WHERE Name LIKE 'Demo';
Query OK, 2 rows affected (0.18 sec)
Rows matched: 2  Changed: 2  Warnings: 0

要检查名称“Demo”是否已被名称“Amit”替换,以下为查询。

mysql> select *from replaceDemo;

以下是输出。

+-------+
| Name  |
+-------+
| John  |
| Ramit |
| Smith |
| Amit |
| Carol |
+-------+
5 rows in set (0.00 sec)

如你所见,在上面的输出中,我已将名称“Demo”更改为“Amit”。

更新日期:2019-07-30

1K+ 浏览

职业生涯一触即发

完成课程即可获得认证

开始
广告
© . All rights reserved.