前面,我们学会了用DELETE来删除表中所有数据或表中的部分数据。
现在我们来说另一种方式:TRUNCATE
我们先来看一个例子:
TRUNCATE TABLE boys WHERE id = 4;
运行结果:
TRUNCATE TABLE boys WHERE id = 4 > 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 4' at line 2
我们可以看到运行报错了。因为TRUNCATE不能和WHERE一起使用。
也正是无法和WHERE一起使用,所以就无法删除部分数据,所以TRUNCATE只能删除所有数据,也就是清空表。
TRUNCATE用法:
1,删除表中的所有数据时,用TRUNCATE效率比DELETE效率更高。
2,TRUNCATE TABLE 表名。(删除表中的所有数据)。
3,要删除的表中有自增长列,用DELETE删除后再插入数据自增长列的值从断点开始,而TRUNCATE是从头开始。
4,DELETE删除有返回值,而TRUNCATE没有返回值。