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

ลบเรคคอร์ดบางส่วนตามเงื่อนไขใน MySQL

ใช้ DELETE กับ WHERE เพื่อลบเฉพาะแถวที่ตรงเงื่อนไข

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( Id int, Name varchar(20) ); 
Query OK, 0 rows affected (0.60 sec)
mysql> insert into DemoTable values(100,'Bob'); 
Query OK, 1 row affected (0.14 sec) 
mysql> insert into DemoTable values(101,'Chris'); 
Query OK, 1 row affected (0.19 sec) 
mysql> insert into DemoTable values(102,'David'); 
Query OK, 1 row affected (0.14 sec) 
mysql> insert into DemoTable values(103,'Sam'); 
Query OK, 1 row affected (0.08 sec) 
mysql> insert into DemoTable values(104,'Carol'); 
Query OK, 1 row affected (0.10 sec)

คิวรี่ลบแถวที่ Id > 102

mysql> delete from DemoTable where Id > 102; 
Query OK, 2 rows affected (0.10 sec)

ผลลัพธ์หลังลบ

mysql> select * from DemoTable;
+------+-------+ 
| Id   | Name  | 
+------+-------+ 
|  100 | Bob   | 
|  101 | Chris | 
|  102 | David | 
+------+-------+ 
3 rows in set (0.00 sec)

Id 103 (Sam) และ 104 (Carol) ถูกลบ | ใช้ WHERE กรองเงื่อนไขได้หลากหลาย (>, <, =, IN, BETWEEN, LIKE, etc.) | ควร SELECT ก่อน DELETE เพื่อยืนยันข้อมูลที่จะลบ