删除表drop、truncate、delete的区别

drop table tablename
删除表数据以及表结构,并释放表所占用的全部空间
drop为数据库定义语言,不能回滚,不会触发触发器

truncate table tablename
删除表数据,不会删除表结构,并释放表和索引所占用的空间到初始大小
不能删除行数据
truncate为数据库定义语言,不能回滚,不会触发触发器

delete from tablename
delete from tablename where key=value
删除表数据,不会删除表结构,不释放空间
既可以删除行数据,也可以删除整表数据
delete是数据库操作语言,操作作为事务记录保存在日志中,支持回滚

如果你不需要这张表了,可以用drop
如果你要保留这张表,想清空数据,可以用truncate
如果你想删除部分数据,可以用delete
一般情况下:drop>truncate>delete


文章转载自测试点梳理驿站,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




