【HR】如何删除Sqlite数据库中指定行之间的数据?
原创我猪哥(猪猪侠,猪头,FancyPig)问题场景如果数据插入错了,我们只想删除某张表中的指定数据,比如删除第m行到第n行的数据应该怎么操作呢?解决方案为了方便演示,我们这里举例说明,这里的表格,我们不小心在插入数据时,id=4到id=6的内容和前面的id=1到id=3内容重复了,这里我们想删除应该如何操作?id name1 猪猪侠2 猪头3 猪猪4 猪猪侠5 猪头6 猪猪7 猪老师8 猪大侠数据表A首先我们需要确认要删除的id,通常你处理的数据肯定不会是2、3个,因此我们使用下面的语句,筛选出id为4-6之间的SELECT * FROM "A" where id>= 4 AND id<=6id name4 猪猪侠5 猪头6 猪猪然后删除我们查询到的这些数据即可delete from A where id in(SELECT id FROM "A" where id>= 4 AND id<=6)然后查看发现数据中第4行到第6行内容已经移除小技巧:有些表设计不够规范,如果没有唯一的ID,我们可以通过rowid来进行定位(每张表隐藏的且自增的)SELECT rowid FROM "A" where id>= 4 AND id<=6拓展当然,您还可以删除A表前m行数据,方法类似delete from A where id in(SELECT id FROM "A" limit m)比如我们,我们删除前5行数据我们先搜索前5行的数据SELECT * FROM "A" limit 5然后在进行删除delete from A where id in(SELECT id FROM "A" limit 5)然后查看,发现就剩下第5行之后的数据了http://cdn.u1.huluxia.com/g4/M02/BC/B7/rBAAdmM7NFOAKlCaAAA42jtmxXQ785.jpghttp://cdn.u1.huluxia.com/g4/M02/BC/B7/rBAAdmM7NFOAW9IoAAApaaIOpiQ161.jpghttp://cdn.u1.huluxia.com/g4/M02/BC/B7/rBAAdmM7NFSANexDAAApaaIOpiQ055.jpghttp://cdn.u1.huluxia.com/g4/M02/BC/B7/rBAAdmM7NFSAeSohAAA2njcAfOA330.jpghttp://cdn.u1.huluxia.com/g4/M02/BC/B7/rBAAdmM7NFSAfJGrAAATRny-DYA282.jpg
页:
[1]