当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL TRUNCATE用法及代码示例


MySQL 的 TRUNCATE 语句删除表及其所有记录,然后将其重新创建为空表。它类似于删除表中所有行的 DELETE 语句(即不带 WHERE 子句的 DELETE 语句)。

警告

一旦你TRUNCATE一个表,你就无法撤消它,所以执行它时要非常小心!

需要注意的几点:

  • 您无法对由外键约束引用的InnoDB 表执行TRUNCATE

  • 一旦您 TRUNCATE 表,任何 AUTO_INCREMENT 值都会重置。

用法

TRUNCATE [TABLE] table_name;

例子

请考虑下表了解学生是否持有驾驶执照:

student_id

full_name

年龄

has_license

1

天空镇

17

0

2

本·戴维斯

19

1

3

特拉维斯·苹果

18

0

4

亚瑟·大卫

16

0

5

本杰明镇

17

1

可以使用此处的代码创建上述示例表。

要从 drivers_license 表中删除所有记录:

TRUNCATE drivers_license;



Query OK, 0 rows affected (0.02 sec)

请注意,无论删除多少行,返回的响应都会显示 "0 rows affected”

现在检查 drivers_license 表的内容:

SELECT * FROM drivers_license;



Empty set (0.00 sec)

我们可以看到所有记录现在都已被删除。

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | TRUNCATE。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。