如何在字段中查找/替换字符串?


若要查找/替换字段中的字符串,语法如下所示 −

update yourTableName
set yourColumnName =REPLACE(yourColumnName,yourOldValue,yourNewValue);

为了理解上述语法,我们创建一个表。创建表的查询如下所示 −

mysql> create table FindReplaceDemo
   -> (
   -> FileId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> FileDirectory text
   -> );
Query OK, 0 rows affected (0.92 sec)

现在,可以使用插入命令在表中插入一些记录。查询如下所示 −

mysql> insert into FindReplaceDemo(FileDirectory) values('C://User//MySQL');
Query OK, 1 row affected (0.19 sec)
mysql> insert into FindReplaceDemo(FileDirectory) values('D://WebsiteImage//image1.jpg');
Query OK, 1 row affected (0.12 sec)
mysql> insert into FindReplaceDemo(FileDirectory) values('E://Java//AdvancedJava');
Query OK, 1 row affected (0.20 sec)

使用 select 语句显示表中的所有记录。查询如下所示 −

mysql> select *from FindReplaceDemo;

以下是输出 −

+--------+------------------------------+
| FileId | FileDirectory                |
+--------+------------------------------+
| 1      | C://User//MySQL              |
| 2      | D://WebsiteImage//image1.jpg |
| 3      | E://Java//AdvancedJava       |
+--------+------------------------------+
3 rows in set (0.00 sec)

以下是查找/替换字段中字符串的查询 −

mysql> update FindReplaceDemo
   -> set FileDirectory =REPLACE(FileDirectory,'E://Java//AdvancedJava','E://Java//SpringAndHibernateFramework');
Query OK, 1 row affected (0.12 sec)
Rows matched: 3 Changed: 1 Warnings: 0

现在,让我们再次检查表记录。查询如下所示 −

mysql> select *from FindReplaceDemo;

输出如下,其中包含替换后的值 −

+--------+---------------------------------------+
| FileId | FileDirectory                         |
+--------+---------------------------------------+
| 1      | C://User//MySQL                       |
| 2      | D://WebsiteImage//image1.jpg          |
| 3      | E://Java//SpringAndHibernateFramework |
+--------+---------------------------------------+
3 rows in set (0.00 sec)

更新时间: 30-07-2019

276 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.