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

我用的是 Wampserver 2.2。当我想删除 phpMyAdmin 中一个表的所有记录时(选择 all) ,它只删除一条记录,而不是全部记录。为什么不删除所有记录?

595637 次浏览

使用以下查询:

DELETE FROM tableName;

注意: 要删除某些特定的记录,还可以在查询中给出 where 子句中的条件。

或者你也可以使用这个查询:

truncate tableName;

还要记住,您不应该与其他表有任何关系。如果表中存在任何外键约束,那么这些记录将不会被删除,而是会显示错误。

你有两个选项 deletetruncate:

  1. delete from mytable

    这样会删除表中的所有内容,不会重置自动增量 id,这个过程很慢。如果要删除特定的记录,请在结尾处附加一个 where 子句。

  2. truncate myTable

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

转到 Sql 选项卡,运行以下查询之一:

delete from tableName;

删除 : 将从表中删除所有行。

或者

truncate tableName;

Truncate : 也会删除表中的行,但它将从新行开始,从1开始。

详细的博客例子: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

转到 db-> 结构,在必需的表中执行空操作。 看这里:

this screenshot

一个有趣的事实。

我确信 TRUNCATE 总是能够执行得更好,但是在我的例子中,对于一个包含大约30个带有外键的表(只填充了几行)的 db 来说,TRUNCATE 所有表大约需要12秒,而删除这些行只需要几百毫秒。设置自动增量总共增加了大约一秒钟,但它仍然好得多。

所以我建议两个都试试看哪个对你的案子更有效。

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

  truncate tableName;

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

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

写下疑问句: 截断‘ Your _ table _ name’;

  • 访问 phpmyadmin
  • 选择数据库并单击结构
  • 在表的前面,可以看到 空的,单击它可以清除所选表中的所有条目。

demo-database-structure

或者可以使用 sql query 进行同样的操作:

点击沿着 结构SQL目前

TRUNCATE tablename; //offers better performance, but used only when all entries need to be cleared
or
DELETE FROM tablename; //returns the number of rows deleted

详细文档请参阅 翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳翻译: 奇芳