Mysql delete,truncate,drop

1、delete 是DML(Data Manipulation Language),每次删除一行,作为事务记录在日志,可以回滚。delete from xxx

2、truncate是DDL(Data Define Language),一次性删除数据,不把行的删除记录日志,不能恢复,不激活触发器。truncate table

3、drop是DDL,删除表的数据和表结构。

时间: 2024-07-31 02:15:01

Mysql delete,truncate,drop的相关文章

MySQL——delete 和 truncate 以及 drop 区别

delete 和 truncate 以及 drop 区别 (个人理解,如有错误,请指出) delete < truncate < drop 删除方式: truncate  只删除数据.逐条删除 delete     只删除数据.先删除整个表,把那行剔除掉再创建(?) drop   删除整个表(结构和数据) 空间: truncate  表和索引所占用的空间会恢复到初始大小 delete     不会减少表或者索引所占的空间. drop   将表所占的空间全释放掉 应用范围: truncate 

Mysql中DELETE,TRUNCATE,DROP的区别

1. delete:    delete from table_name;          or         delete from table_name where column = ?; 删除表中数据,但是不会删除表结构,删除的时候是一行一行删,效率较低,可用来删除单条数据. 2. truncate: truncate from table_name; 删除表中数据,不删除表结构,相比于delete,效率更高,它所使用的系统和事物日志资源少. //对于delete与truncate,最

MySql的Delete、Truncate、Drop分析

MySql的Delete.Truncate.Drop分析 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrain).触发器(trigger).索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态. 2. delete 语句是数据库操作语言(dml),这操作会放到rollb

oracle中delete、truncate、drop的区别

oracle中delete.truncate.drop的区别 标签: deleteoracletable存储 2012-05-23 15:12 7674人阅读 评论(0) 收藏 举报  分类: oracle(2)  版权声明:本文为博主原创文章,未经博主允许不得转载. 一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(c

delete、truncate、drop区别

1.drop删除表数据和表结构,delete和truncate只删除表数据 2.delete逐行记录到redo日志中,可恢复,truncate和drop只记录少量操作语句,不能恢复. 3.delete可触发trigger,truncate不能 4.delete是DML语句,truncate.drop是DDL语句 5.执行速度drop>truncate>delete 6.truncate后,表和索引占用空间恢复到初始大小,delete后,表和索引空间不变,drop后,表和索引占用空间全部释放.

delete,truncate和drop的区别

1.truncate和delete只删除数据不删除表的结构(定义),而drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态. 2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. 3.truncate,drop是ddl,操作立即生效,原数据不放到rollback segment中,不

MySQL删除表操作(delete、truncate、drop的区别)

简介delete1.删除整张表的数据: delete from table_name; 2.删除部分数据,添加where子句: delete from table_name where...; 3.说明 1).属于DML语言,每次删除一行,都在事务日志中为所删除的每行记录一项.产生rollback,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发,如果删除大数据量的表速度会很慢. 2).删除表中数据而不删除表的结构(定义),同时也不释放空间. truncate1.只能操作表,

详解Oracle中 DELETE、TRUNCATE 和 DROP 的区别

前言 以前做项目的时候,很少关注知识点中比较细节的东西,正好今天有这个机会,就把 Oracle 中几个常用的函数区分一下. 语法 delete from table_name truncate table table_name drop table table_name 区别 delete from后面可以写条件,truncate不可以,drop后边一般也不写条件. delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日志里面只记录页释放,

delete、truncate和drop的区别

1.truncate是DDL,会隐式提交,所以,不能回滚,不会触发触发器,当表被TRUNCATE后,这个表和索引所占用的空间会恢复到初始大小. ps:TRUNCATE TABLE 删除表中的所有行,但表结构及其列.约束.索引等保持不变 2.delete语句执行的过程是每次从表中删除一行数据,并且会将改行的删除操作作为事务记录在日志中,以便进行回滚操作.但是DELETE操作不会减少表或索引所占用的空间. ps:DELETE可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有