SQL语句截断数据库中所有表中的所有数据

SQL语句截断数据库中所有表中的所有数据,sql,mysql,Sql,Mysql,可能重复: 如何从数据库中的所有表中删除所有数据。像这样使用 TRUNCATE `table1`; TRUNCATE `table2`; TRUNCATE `table3`; TRUNCATE `table4`; 如果已编写了空表的脚本创建,则删除和重新创建数据库可能会更快,具体取决于表的数量。可以肯定的是,它的输入更少:-)-您必须在单个语句中完成。您可以创建一个循环,将下一个表名分配给一个变量,然后使用动态sql执行TRUNCATE语句。我尝试过,但自动生成的ID没有设置为零。它们从上一

可能重复:

如何从数据库中的所有表中删除所有数据。

像这样使用

TRUNCATE `table1`;
TRUNCATE `table2`;
TRUNCATE `table3`;
TRUNCATE `table4`;

如果已编写了空表的脚本创建,则删除和重新创建数据库可能会更快,具体取决于表的数量。可以肯定的是,它的输入更少:-)-

您必须在单个语句中完成。您可以创建一个循环,将下一个表名分配给一个变量,然后使用动态sql执行
TRUNCATE
语句。

我尝试过,但自动生成的ID没有设置为零。它们从上一个被截断的id开始继续。将此添加到表创建脚本:ALTER table tablename AUTO_INCREMENT=1Thanks pal,但我得到了许多表,所以我想了一些方法一次完成。