在MySQL中,删除的方法总共有3种:delete、truncate、drop,而三者的用法和使用场景又完全不同,接下来我们具体来看。
1.delete
detele可用于删除表的部分或所有数据,它的使用语法如下:
deletefromtable_name[where...][orderby...][limit...]
PS:[]中的命令为可选命令,可以被省略。
如果我们要删除学生表中数学成绩排名最高的前3位学生,可以使用以下SQL:
deletefromstudentorderbymathdesclimit3;
1.1delete实现原理
在InnoDB引擎中,delete操作并不是真的把数据删除掉了,而是给数据打上删除标记,标记为删除状态,这一点我们可以通过将MySQL设置为非自动提交模式,来测试验证一下。非自动提交模式的设置SQL如下:
setauto