使用 IN() 在单个查询中删除 MySQL 表的记录

mysqlmysqli database

让我们创建一个表 −

mysql> create table DemoTable1922
   (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(20)
   );
Query OK, 0 rows affected (0.00 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1922(StudentName) values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1922(StudentName) values('Robert');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1922(StudentName) values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1922(StudentName) values('Mike');
Query OK, 1 row affected (0.00 sec)

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable1922;

这将产生以下输出 −

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | Chris       |
|         2 | Robert      |
|         3 | David       |
|         4 | Mike        |
+-----------+-------------+
4 rows in set (0.00 sec)

以下是使用 IN() 从表中删除记录的查询 −

mysql> delete from DemoTable1922 where StudentId IN(1,2,3,4);
Query OK, 4 rows affected (0.00 sec)

让我们再次检查表记录 −

mysql> select * from DemoTable1922;

这将产生以下输出 −

Empty set (0.00 sec)

相关文章