② 执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,决定了它比DELETE语句删除数据的方式执行效率更高。③对AUTO_INCREMENT的字段影响不同:TRUNCATE清空数据后,再次向表中添加数据,自动增长字段会从默认的初始值重新开始,而使用DELETE语句删除表中的记录时,则不影响自动增长值。④ ...
1. 1、DELETE语句是DML语句,TRUNCATE语句通常被认为是DDL语句。 2、DELETE语句后面可以跟WHERE子句,而TRUNCATE语句只能用于删除表中的所有记录 3、使用TRUNCATE语句删除表中的数据后,再次添加记录时,自动增加字段的默认初始值重新由1开始,而使用DELETE语句删除表中所有记录后,再次向表中添加记录时,自动增加字段的值为删...
简述DELETE语句与TRUNCATE语句的差异。 答案 解:如果想要删除表的所有数据,truncate语句要比 delete 语句快。因为 truncate 删除了表,然后根据表结构重新建立它,而 delete 删除的是记录,并没有尝试去修改表。这也是为什么当向一个使用 delete 清空的表插入数据时,数据库会记住前面产生的AUTOINCREMENT序列,并且继续利用它...
参考答案: 1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。 2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不记录回滚信息,不能对TRUNCATE使用ROLLBACK命令。 3、TRUNCATE不能触发任何DELETE触发器。 复制 纠错...
一个含有自增序列的表,使用delete跟truncate之后会有什么不同结果呢? 大概说一下,使用truncate,表中的记录全部被清除,如果向表中插入数据,那么数据的排序是从1开始的。 如果使用的是delete,那么记录的排序值不会被清除,它是一次累加上去的。下面给出一个小例子,可以参考一下 ...
正确答案:① 实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。而DELETE语句则是逐条的删除数据表中保存的记录。 ② 执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,决定了它比DELETE语句删除数...
简答题 请简述DELETE与TRUNCATE的区别。【参考答案】 ①实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。而DELETE语句则是逐条的删除数据表中保存的记录。②执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空...