Computer >> Máy Tính >  >> Lập trình >> MySQL

Xóa nhiều hơn một hàng khỏi bảng bằng cách sử dụng id trong MySQL?

Bạn có thể sử dụng câu lệnh IN để xóa nhiều hơn một hàng khỏi bảng bằng cách sử dụng id trong MySQL. Cú pháp như sau -

delete from yourTableName where yourColumnName in(value1,value2,.....valueN);

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Sau đây là truy vấn để tạo bảng.

mysql> create table DeleteManyRows
   −> (
   −> Id int,
   −> Name varchar(200),
   −> Age int
   −> );
Query OK, 0 rows affected (3.35 sec)

Chèn một số bản ghi trong bảng với sự trợ giúp của lệnh insert. Truy vấn như sau -

mysql> insert into DeleteManyRows values(1,'John',23);
Query OK, 1 row affected (0.66 sec)

mysql> insert into DeleteManyRows values(2,'Johnson',22);
Query OK, 1 row affected (0.48 sec)

mysql> insert into DeleteManyRows values(3,'Sam',20);
Query OK, 1 row affected (0.39 sec)

mysql> insert into DeleteManyRows values(4,'David',26);
Query OK, 1 row affected (0.35 sec)

mysql> insert into DeleteManyRows values(5,'Carol',21);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DeleteManyRows values(6,'Smith',29);
Query OK, 1 row affected (0.14 sec)

Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select. Truy vấn như sau -

mysql> select *from DeleteManyRows;

Sau đây là kết quả -

+------+---------+------+
| Id   | Name    | Age |
+------+---------+------+
| 1    | John    | 23   |
| 2    | Johnson | 22   |
| 3    | Sam     | 20   |
| 4    | David   | 26   |
| 5    | Carol   | 21   |
| 6    | Smith   | 29   |
+------+---------+------+
6 rows in set (0.00 sec)

Đây là truy vấn để xóa các hàng khỏi bảng với sự trợ giúp của câu lệnh IN. Truy vấn như sau -

mysql> delete from DeleteManyRows where Id in(1,2,3,4);
Query OK, 4 rows affected (0.25 sec)

Hãy để chúng tôi kiểm tra xem hiện có bao nhiêu hàng sau khi xóa nhiều hàng như 1,2,3,4. Truy vấn như sau -

mysql> select *from DeleteManyRows;

Sau đây là kết quả -

+------+-------+------+
| Id   | Name  | Age  |
+------+-------+------+
|    5 | Carol | 21   |
|    6 | Smith | 29   |
+------+-------+------+
2 rows in set (0.00 sec)