How to find and replace string in MySQL database for a particular string only?



Use the replace() function to replace string in MySQL Database.

The syntax is as follows

UPDATE yourTableName SET yourColumnName=replace(yourColumnName,'yourExistingValue','yourNewValue') WHERE <yourCondition>>;

To understand the above syntax, let us create a table. The query to create a table is as follows

mysql> create table findAndReplaceDemo    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentFirstName varchar(20)    -> ); Query OK, 0 rows affected (0.49 sec)

Insert some records in the table using insert command.

The query is as follows

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)

Display all records from the table using select statement.

The query is as follows

mysql> select *from findAndReplaceDemo;

The following is the output

+----+------------------+ | Id | StudentFirstName | +----+------------------+ | 1 | Carol | | 2 | David | | 3 | Bob | | 4 | Sam | | 5 | Mike | | 6 | Maxwell | +----+------------------+ 6 rows in set (0.00 sec)

Here is the query to find and replace string in MySQL database for a particular string only

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

Let us check the table records once again, the value 'Maxwell’ have been changed to ‘Chris.

The query is as follows

mysql> select *from findAndReplaceDemo;

The following is the output with updated value

+----+------------------+ | Id | StudentFirstName | +----+------------------+ | 1 | Carol | | 2 | David | | 3 | Bob | | 4 | Sam | | 5 | Mike | | 6 | Chris | +----+------------------+ 6 rows in set (0.00 sec)
Updated on: 2019-07-30T22:30:25+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements