Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ค้นหาและแทนที่ข้อความในคอลัมน์ MySQL

ใช้ REPLACE() สำหรับ Find and Replace ใน MySQL

ฟังก์ชัน REPLACE() ใช้แทนที่สตริงย่อยในคอลัมน์ได้โดยตรงในคำสั่ง UPDATE

ไวยากรณ์

UPDATE yourTableName 
SET yourColumnName = REPLACE(yourColumnName, 'oldString', 'newString');

ตัวอย่าง: เปลี่ยนเส้นทางไฟล์

CREATE TABLE FindReplaceDemo (
    FileId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FileDirectory TEXT
);

INSERT INTO FindReplaceDemo(FileDirectory) VALUES
('C://User//MySQL'),
('D://WebsiteImage//image1.jpg'),
('E://Java//AdvancedJava');

แทนที่เส้นทาง Java

UPDATE FindReplaceDemo
SET FileDirectory = REPLACE(FileDirectory, 'E://Java//AdvancedJava', 'E://Java//SpringAndHibernateFramework');

ผลลัพธ์

+--------+---------------------------------------+
| FileId | FileDirectory                         |
+--------+---------------------------------------+
| 1      | C://User//MySQL                       |
| 2      | D://WebsiteImage//image1.jpg          |
| 3      | E://Java//SpringAndHibernateFramework |
+--------+---------------------------------------+

คุณสมบัติ

  • แทนที่ ทุกครั้งที่เจอ ในสตริง
  • Case-sensitive
  • ไม่ใช้ Regular Expression ได้ (ต้องใช้ REGEXP_REPLACE ใน MySQL 8.0+)
  • คืนค่าจำนวนแถวที่เปลี่ยนแปลง