通过多个id批量删除数据,sql怎么写
时间: 2024-02-01 16:14:07 浏览: 112
可以使用 SQL 的 `IN` 关键字来批量删除多个 ID 对应的数据。
例如,假设有一个名为 `table_name` 的表格,其中有一个 `id` 列和其他列。要删除 `id` 为 1、3、5 的行,可以使用以下 SQL 语句:
```
DELETE FROM table_name
WHERE id IN (1, 3, 5);
```
这将删除 `id` 列为 1、3、5 的所有行。
相关问题
sql 批量删除多个id
可以使用 SQL 的 IN 子句来一次性删除多个 ID,例如:
```
DELETE FROM table_name WHERE id IN (1, 2, 3, 4);
```
这将删除 ID 分别为 1、2、3、4 的记录。你可以根据需要修改括号中的 ID 列表。
多表关联批量删除的注解sql语句怎么写
假设有两个表,一个是订单表(order),另一个是订单商品表(order_item),并且订单表的主键是order_id,订单商品表的外键是order_id。
如果需要删除订单表中的某些记录,并且同时删除订单商品表中与其关联的记录,可以使用以下的注解SQL语句:
```sql
@Delete("DELETE o, oi FROM order o JOIN order_item oi ON o.order_id = oi.order_id WHERE o.order_id IN (:orderIds)")
void deleteOrdersAndItems(@Param("orderIds") List<Long> orderIds);
```
这个注解SQL语句使用了多表关联的方式,通过INNER JOIN关键字连接两个表,并且使用WHERE子句来过滤要删除的记录。同时,使用了IN关键字来匹配多个订单ID号,以实现批量删除的功能。同时,DELETE语句中的o和oi表示的是订单表和订单商品表的别名,可以一起被删除。