DELETE FROM table_name [WHERE Clause]
delete from exam_record
where timestampdiff(minute, start_time, submit_time) < 5
and score < 60;
再深一步:
请删除exam_record表中未完成作答或作答时间小于5分钟整的记录中,开始作答时间最早的3条记录。
delete from exam_record
where timestampdiff(minute, start_time, submit_time) < 5
or submit_time is null
order by start_time
limit 3;
再再深一步:
请删除exam_record表中所有记录,并重置自增主键。
sqlite> DELETE FROM table_name;
truncate table exam_record;
补充:
1.DROP TABLE 清除数据并且销毁表,是一种数据库定义语言(DDL Data Definition Language), 执行后不能撤销,被删除表格的关系,索引,权限等等都会被永久删除。
2.TRUNCATE TABLE 只清除数据,保留表结构,列,权限,索引,视图,关系等等,相当于清零数据,是一种数据库定义语言(DDL Data Definition Language),执行后不能撤销。
3.DELETE TABLE 删除(符合某些条件的)数据,是一种数据操纵语言(DML Data Manipulation Language),执行后可以撤销。(还不太明白怎么撤销TT,在什么情况下可以撤销,求大神指点。
运行速度一般DROP最快,DELETE最慢,但是DELETE最安全。