如何在 MySQL 数据库中查找并替换特定字符串?
mysqlmysqli database
使用 replace() 函数替换 MySQL 数据库中的字符串。
语法如下
UPDATE yourTableName SET yourColumnName=replace(yourColumnName,'yourExistingValue','yourNewValue') WHERE <yourCondition>>;
为了理解上述语法,让我们创建一个表。创建表的查询如下
mysql> create table findAndReplaceDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentFirstName varchar(20) -> ); Query OK, 0 rows affected (0.49 sec)
使用 insert 命令在表中插入一些记录。
查询如下
mysql> insert into findAndReplaceDemo(StudentFirstName) values('Carol'); Query OK, 1 row affected (0.15 sec) mysql> insert into findAndReplaceDemo(StudentFirstName) values('David'); Query OK, 1 row affected (0.15 sec) mysql> insert into findAndReplaceDemo(StudentFirstName) values('Bob'); Query OK, 1 row affected (0.10 sec) mysql> insert into findAndReplaceDemo(StudentFirstName) values('Sam'); Query OK, 1 row affected (0.11 sec) mysql> insert into findAndReplaceDemo(StudentFirstName) values('Mike'); Query OK, 1 row affected (0.13 sec) mysql> insert into findAndReplaceDemo(StudentFirstName) values('Maxwell'); Query OK, 1 row affected (0.17 sec)
使用 select 语句显示表中的所有记录。
查询如下
mysql> select *from findAndReplaceDemo;
以下是输出 −
+----+------------------+ | Id | StudentFirstName | +----+------------------+ | 1 | Carol | | 2 | David | | 3 | Bob | | 4 | Sam | | 5 | Mike | | 6 | Maxwell | +----+------------------+ 6 rows in set (0.00 sec)
以下是在 MySQL 数据库中查找并替换特定字符串的查询
mysql> update findAndReplaceDemo -> set StudentFirstName=replace(StudentFirstName,'Maxwell','Chris') -> where StudentFirstName='Maxwell'; Query OK, 1 row affected (0.16 sec) Rows matched: 1 Changed: 1 Warnings: 0
我们再检查一下表记录,值"Maxwell"已经改为"Chris"。
查询如下
mysql> select *from findAndReplaceDemo;
以下是更新值后的输出
+----+------------------+ | Id | StudentFirstName | +----+------------------+ | 1 | Carol | | 2 | David | | 3 | Bob | | 4 | Sam | | 5 | Mike | | 6 | Chris | +----+------------------+ 6 rows in set (0.00 sec)