SQL怎么用DELETE删除多条数据

我想一次删除这个数组(blog)中id的记录 ,请问sql该怎么写?
array (size=3)
0 => string '37' (length=2)
1 => string '38' (length=2)
2 => string '39' (length=2)

1、首先,选择数据库。

2、然后根据查找id的方法去删除指定的某一行数据。

3、查看数据,id为1的所有数据全都已经被删除。

4、同样地,也可以换一种查找方法,这次用班级来查找,原理是一样的。

5、可以看到,所有班级也被删除了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-08

1、首先创建一个临时表,用于演示sqlserver语法中delete删除的使用方法

IF OBJECT_ID('tempdb..#tblDelete') IS NOT NULL DROP TABLE #tblDelete; 

CREATE TABLE #tblDelete(

    Code varchar(50),        

    Total int    

);

2、然后往临时表#tblDelete中插入几行测试,用于演示如何删除数据

insert into #tblDelete(Code, Total) values('Code1', 30);

insert into #tblDelete(Code, Total) values('Code2', 40);

insert into #tblDelete(Code, Total) values('Code3', 50);

insert into #tblDelete(Code, Total) values('Code4', 6);

3、查询临时表#tblDelete中的测试数据select * from #tblDelete;

4、删除临时表#tblDelete中Code栏位=Code3的记录,使用下面的delete语句

delete #tblDelete where Code = 'Code3'

5、再次查询临时表#tblDelete的结果,可以看到Code3的记录没有了

select * from #tblDelete;

6、删除临时表#tblDelete中Code栏位=Code2的记录,使用下面的delete语句。

注意,下面的delete语句后面有一个from关键字,这个关键字是可以省略的,但是建议不要省略

delete from #tblDelete where Code = 'Code2'

7、再次查询临时表#tblDelete的结果,可以看到Code2的记录没有了

select * from #tblDelete;

8、最后,如果想要快速的删除表中的所有数据,有下面两种方式。第二种方式速度更快,delete from #tblDelete;truncate table #tblDelete;完成效果图。

本回答被网友采纳
第2个回答  推荐于2017-12-15
主要是把id拼成字符串
如果id是字符串形式,就需要单引号,如果是int类型,就不需要单引号
以 单引号+id+单引号+英文逗号,把数组中的id循环出来
结果就是
id为nvarchar:'37','38','39',
id为int:37,38,39
然后把字符串最后一位除去
结果是
'37','38','39'
或 37,38,39
然后用delete table的方式
delete本来就是多行删除,而你其实要把多行删除变为指定删除,就是加上where条件
多个id的where条件,就用in()的方式,括号内是条件的多个指定项
delete 表 where id in (上面的字符串)
结果
delete 表 where id in ('37','38','39')
delete 表 where id in (37,38,39)本回答被网友采纳
第3个回答  2020-11-19

SELECT、INSERTUPDATEDELETE