SQL-----数据库三种删除方式详解
第一种 使用delete 语句
特点:
delete 属于数据库操纵语言DML,表示删除表中的数据,
删除过程是每次从表中删除一行,并把该行删除操作作为事务记录在日志中保存
可以配合事件(transaction)和 回滚(rollback)找回数据,且自增不会被重置
delete 既可以对table也可以对view
可以全部删除,也可以按条件删除
删除的数据可以通过日志恢复,速度慢
语法:
-- 删除表中全部数据 delete from 表名 -- 按条件删除 delete from 表名 where 条件
第二种 使用truncate 语句
特点:
truncate 属于数据库定义语言DDL,表示删除表中所有数据,DDL操作是隐性提交的!不能rollback
truncate一次性的从表中删除所有数据,不会保存到日志中,相当于直接删除整个表,再重新创建一个一模一样的表
使用truncate 删除的数据不能恢复
truncate 只能对table,执行速度快
语法:
-- 删除表中所有数据且不可恢复 truncate table 表名
第三种 使用 drop 语句
特点:
drop 属于数据库定义语言DDL,表示删除表, 也可以用来删除数据库
删除的数据可以通过闪回恢复
语法:
-- 删除 表 drop table 表名 -- 删除数据库 drop database 数据库名
原文链接:https://www.cnblogs.com/obge/p/11760604.html
恢复数据:https://www.cnblogs.com/hanzy1/p/10029057.html