如果我们不在这条语句后面添加where筛选条件,则视为删除数据表的所有行,这里我们只对这种简单的使用方式加以回顾,并不举例说明。
如果在特定的场景中,需要使用sql语句删除重复的行,那我们应该如何 *** 作呢。这里给出一个具体的例子,例如 Leetcode 196 删除重复的邮箱 中需要我们使用delete命令删除重复的电子邮箱。
首先,需要使用自连接语句筛选出重复的电子邮箱id。
此时,我们将重复的电子邮箱查询出来。
然后,就需要使用delete语句,此时涉及到的是一个多表删除的语句,应该写成如下格式:
我们发现在delete和from之间加入了一个p1,这代表只删除p1表中满足筛选条件的行,而p1代表person,最终就完成了对person表的delete *** 作。
首先,我们仍然需要筛选出重复的电子邮箱的id。
然后,在person删除对应上述的id。
有一个计费表jifei,其中包含的字段有:phone(8位电话号码)、month(月份)、expense(月消费,费用为0表明该月没有产生费用),请你删除jifei表中所有10月份出现的两条相同记录的其中一条记录。
此题目中需要多个字段重复即删除,所以第一步仍然需要筛选出需要删除的行。
然后使用delete删除重复的行。
上述两个步骤实际上删除的所有重复出现的行,但是题目需要删除10月份重复出现两次的记录,所以还需要内联结一个对月份记录的字段。
想要删除,那么是用SQL语句的deleteDELETE FROM 表名称 WHERE 列名称 = 值
想要按照你的需求去删除,也就是要拼凑出合适的where条件,
如果有一个字段是line(代表行的值),你就可以:
for(i=5i<=10i++) //写一个循环
delete from T1 where line = i
总的思路就是,想要删除哪里,就构造相应的SQL 语句条件即可!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)