Mysql中的Delete操作

如题所述

delete操作一般用于删除数据表中的某一行,常见的语法如下:

如果我们不在这条语句后面添加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月份重复出现两次的记录,所以还需要内联结一个对月份记录的字段。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜