ใช้คำสั่ง DELETE ร่วมกับ WHERE ... LIKE เพื่อลบแถวที่คอลัมน์สตริงมีรูปแบบที่กำหนด (Pattern matching)
ตัวอย่างการสร้างตาราง
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(100) );
Query OK, 0 rows affected (0.55 sec)
เพิ่มข้อมูลชื่อต่างๆ
mysql> insert into DemoTable(Name) values('John Smith');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(Name) values('Carol Taylor');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(Name) values('John Doe');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(Name) values('Chris Brown');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(Name) values('John Brown');
Query OK, 1 row affected (0.19 sec)
แสดงข้อมูลก่อนลบ
mysql> select * from DemoTable;
+----+--------------+ | Id | Name | +----+--------------+ | 1 | John Smith | | 2 | Carol Taylor | | 3 | John Doe | | 4 | Chris Brown | | 5 | John Brown | +----+--------------+ 5 rows in set (0.00 sec)
คำสั่ง DELETE ลบชื่อที่มี 'ohn' อยู่กลาง (John)
mysql> delete from DemoTable where Name like '%ohn%'; Query OK, 3 rows affected (0.16 sec)
ตรวจสอบข้อมูลหลังลบ (เหลือ Carol และ Chris)
mysql> select * from DemoTable;
+----+--------------+ | Id | Name | +----+--------------+ | 2 | Carol Taylor | | 4 | Chris Brown | +----+--------------+ 2 rows in set (0.00 sec)
คำอธิบาย Wildcard:
%= ตรงกับตัวอักษรจำนวนใดก็ได้ (รวม 0 ตัว)_= ตรงกับตัวอักษรเพียง 1 ตัวเท่านั้น
รูปแบบ LIKE อื่นๆ: 'John%' (ขึ้นต้นด้วย John), '%John' (ลงท้ายด้วย John), '%John%' (มี John อยู่ไหนก็ได้)
ข้อควรระวัง: DELETE ไม่สามารถกู้คืนได้ (ยกเว้นมี Transaction) ควรทดสอบด้วย SELECT ก่อนเสมอ