MySQL 如何在数据库中仅替换指定字符串
使用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)
阅读更多:MySQL 教程
极客教程