如何使用 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"。