如何在欄位中查詢/替換字串?


若要查詢/替換欄位中的字串,語法如下所示 −

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.