TRUNCATE TABLE语句用于从MySQL中的表中删除所有记录。它执行的效果与不带WHERE子句的DELETE语句相同。
警告:如果对标进行了表截断(truncate),则不能回滚TRUNCATE TABLE语句。
MySQL中TRUNCATE TABLE语句的语法为:
TRUNCATE
TABLE
[database_name.]table_name;
说明 截断表时,表上的AUTO_INCREMENT计数器将被重置。(重新设置为1) MySQL通过删除并创建表来截断该表。因此,该表的DELETE触发器不会被触发。 从MySQL 5.5开始,您不能截断被另一个表中的外键引用的InnoDB表。 从MySQL 5.6开始,您不能截断被另一个表中的外键引用的NDB表。
说明
在MySQL中,如果不考虑数据回滚,则将表进行截断是清除表数据的快速方法。在大多数情况下,MySQL处理表截断的过程与其他数据库(例如Oracle或SQL Server)的方式有所不同。
让我们看一个如何在MySQL中是使用TRUNCATE TABLE语句的。
customers;
将截断customers的表,并从该表中删除所有记录。
它等同于MySQL中的以下DELETE语句:
DELETE
FROM
这两个语句都会删除客户表中的所有数据。两者之间的主要区别是使用DELETE语句,你可以选择回滚,而使用TRUNCATE TABLE语句,则不能回滚。
清空表时,表名可以加上数据库名。
test.products;
test 为数据库名。
原文链接:https://codingdict.com/