sql能否批量删除多个行

比如Id是主键,我想一次删除id=1,id=2,id=3,id=4,id=5的行,有没有什么简单的方法?... 比如Id是主键,我想一次删除id=1,id=2,id=3,id=4,id=5的行,有没有什么简单的方法? 展开
 我来答
滟丽00
高粉答主

2019-05-10 · 繁杂信息太多,你要学会辨别
知道答主
回答量:1487
采纳率:0%
帮助的人:23.9万
展开全部

1、首先我们打开SQL Server 2012资源管理器,在已创建好的数据库表t_call_info,查询和比较表记录。

2、利用SQL Server 2012数据库资源管理器,创建删除SQL语句,使用delete。

3、删除ID为10的记录,利用delete from 数据库表 where id=10。

4、删除记录后,再次查询数据库表,这时ID为10的记录不存在。

5、删除ID从5到8的记录,利用between...and...。

6、批量删除数据库表记录,再次查询数据库表,这时删掉了几条数据。

francis674
推荐于2017-11-24 · TA获得超过362个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:405万
展开全部
估计你是想做web中的批量删除。

推荐用服务器端语言拼成以半角逗号分隔的id字符串
如1楼例举的1,2,3,4,5然后将这个变量拼成SQL语句。

如果是纯SQL,你要删除的这些数据会有一些共同点,按照共同点删除即可。
如delete from table where id in (xxxxxxxx) 或者delete from table where id in ( select id from table where enabled = 0)之类的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落草格
2011-08-13 · TA获得超过550个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:202万
展开全部
如果数量不多的话,直接在删除的时候,罗列就可以吧 比如一楼说的
如果数量很多的话,可以把这些要删除的数据存放在一个表里,然后删除的时候,去表里查询对应数据,比如把要删除的id号存放在table b中,那么

delete from table a where id in (select id from table b)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yynnhappy365
2011-08-13
知道答主
回答量:28
采纳率:0%
帮助的人:12.1万
展开全部
我想的存储过程大致思路
1.给出删除几个ID的数据,
2.WHILE循环然后给出变量,
3.用变量作为主键ID,执行动态删除SQL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgtzzc
2011-08-13 · TA获得超过111个赞
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:130万
展开全部
delete tb where id between 1 and 5
追问
我只是举个例子。。。不一定是数字,而且不一定连续的
追答
可以像1楼那样列举出来,也可以把他定义成一个变量

declare @s varchar(100)
set @s='1,2,3,4,5'
delete from tb where charindex(','+ltrim(id)+',',','+@s+',')>0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式