ใช้ตัวดำเนินการ LIKE ร่วมกับ % เพื่อค้นหาและอัปเดตแถวที่ลงท้ายด้วย substring เฉพาะ
รูปแบบไวยากรณ์
UPDATE yourTableName SET yourColumnName = 'newValue' WHERE yourColumnName LIKE '%.yourString';
ตัวอย่างการใช้งาน
สร้างตารางชื่อไฟล์:
mysql> CREATE TABLE RowEndsWithSpecificString ( Id INT NOT NULL AUTO_INCREMENT, FileName VARCHAR(30), PRIMARY KEY(Id) );
เพิ่มข้อมูล (นามสกุลไฟล์ต่างกัน):
INSERT INTO RowEndsWithSpecificString(FileName) VALUES('MergeSort.c'),('BubbleSortIntroduction.pdf'),('AllMySQLQuery.docx'),('JavaCollections.pdf'),('JavaServlet.pdf');
ค้นหาและอัปเดตไฟล์ที่ลงท้ายด้วย .docx ให้เปลี่ยนเป็น .pdf:
mysql> UPDATE RowEndsWithSpecificString SET FileName = 'IntroductionToCoreJava.pdf' WHERE FileName LIKE '%.docx'; Query OK, 1 row affected (0.14 sec)
ตรวจสอบข้อมูล:
+----+----------------------------+ | Id | FileName | +----+----------------------------+ | 1 | IntroductionToCoreJava.pdf | | 2 | BubbleSortIntroduction.pdf | | 3 | IntroductionToCoreJava.pdf | | 4 | JavaCollections.pdf | | 5 | JavaServlet.pdf | +----+----------------------------+
แถวที่ 1 และ 3 (เดิมเป็น .docx) ถูกอัปเดตเป็น .pdf เรียบร้อย