MySQL_删除

这篇博客探讨了SQL中的删除操作,包括DELETE、TRUNCATE TABLE的使用及其区别。示例展示了如何删除exam_record表中作答时间不足5分钟或未完成的记录,以及如何彻底清空表并重置自增主键。文章还提到了DROPTABLE与DELETE的区别,以及操作的不可逆性和安全性考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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最安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值