TRUNCATE TABLE 语句,如果我们仅仅需要删除表内的数据,但并不删除表本身,那么我们该如何做呢?
在 SQL 中,TRUNCATE TABLE语句用于快速删除表中的所有数据,但保留表的结构(列、约束等),与 DELETE 语句相比,TRUNCATE TABLE 通常更快,因为它是通过删除表中的所有行而不是逐行删除实现的。
然而,需要注意的是,TRUNCATE TABLE不会触发触发器,而且无法在事务中进行回滚。
请使用 TRUNCATE TABLE 语句:
TRUNCATE TABLE TABLE_NAME;
以下是一个简单的例子,假设要清空名为 my_table 的表:
TRUNCATE TABLE my_table;
当使用 TRUNCATE TABLE 清除数据时,表的主键自增值将被重置为默认的起始值,通常是从 1 开始。这意味着下一次插入数据时,主键将从 1 开始递增。与之不同的是,使用 DELETE 语句删除数据并不会重置主键自增值,而是保留当前的自增值。