在phpMyAdmin中删除MYSQL表中的所有记录


Answers:


130

转到您的db->结构,并在所需表中清空。看这里:

此屏幕截图


167

您有2个选择deletetruncate

  1. delete from mytable

    这将删除表中的所有内容,而不重置自动增量ID,此过程非常缓慢。如果要删除特定记录,请在末尾附加一个where子句。

  2. truncate myTable

    这将重置表,即将重置所有自动增量字段。它是DDL,速度非常快。您无法通过删除任何特定的记录truncate



27

使用此查询:

DELETE FROM tableName;

注意:要删除某些特定记录,您也可以在查询的where子句中提供条件。

或者您也可以使用此查询:

truncate tableName;

还请记住,您不应与其他表有任何关系。如果表中将有任何外键约束,则这些记录将不会被删除并给出错误。


19

您可以使用此命令删除所有行。但是请记住,一旦运行truncate命令,您将无法回滚它。

  truncate tableName;

11

在定义了键约束的表上,“ Truncate tableName”将失败。它也不会重新索引表AUTO_INCREMENT值。相反,请使用以下sql语法删除所有表条目并将索引重置回1:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

4

一个有趣的事实。

我确定TRUNCATE总是会表现得更好,但就我而言,对于具有大约30个带有外键的表的数据库,该表只填充了几行,对所有表进行TRUNCATE大约需要12秒,而不是几百毫秒删除行。设置自动增量总共大约需要增加一秒钟,但是仍然要好得多。

因此,我建议同时尝试一下,看看哪种方法对您的情况更快。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.