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

mysqlmysqli database

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;

The following is an example.

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

上面,我的表中有两次 Demo 值,我想用名称"Amit"替换"Demo"。为此,我们可以使用 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"。


相关文章