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

btxsgosb  于 2022-11-09  发布在  PHP
关注(0)|答案(9)|浏览(230)

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

uujelgoq

uujelgoq1#

您有两个选项deletetruncate

  1. delete from mytable
    这将删除表中的所有内容,而不是重置自动增量ID,此过程非常慢。如果要删除特定的记录,请在末尾附加where子句。
  2. truncate myTable
    这将重置表,即所有自动增量字段将被重置。这是一个DDL,速度非常快。您不能通过truncate删除任何特定记录。
pokxtpni

pokxtpni2#

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

delete from tableName;

Delete:将删除表中的所有行。下一次插入将采用下一个自动增量ID。

truncate tableName;

Truncate:也会从您的表格中删除列,但会从新列以1开始。
一个详细的博客示例:http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

wnrlj8wa

wnrlj8wa3#

进入你的数据库-〉结构,在所需的表中清空。

q3aa0525

q3aa05254#

使用此查询:

DELETE FROM tableName;

注意:要删除某些特定的记录,您也可以在查询的where子句中给予条件。
或者,您也可以使用此查询:

truncate tableName;

也要记住,你不应该有任何关系,其他表。如果将有任何外键约束在表中,那么这些记录将不会被删除,并会给出错误。

vwoqyblh

vwoqyblh5#

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

truncate tableName;
bqucvtff

bqucvtff6#

  • 'Truncate tableName'在定义了索引键条件约束的数据表上会失败*。它也不会重新索引数据表AUTO_INCREMENT值。请改为使用下列SQL语法删除所有数据表项目并将索引重设回1:
DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1
qvtsj1bj

qvtsj1bj7#

一个有趣的事实
我确信TRUNCATE的性能会更好,但在我的例子中,对于一个包含大约30个表的数据库,这些表都有外键,只填充了几行,TRUNCATE所有表大约需要12秒,而DELETE行只需要几百毫秒。设置自动增量总共增加了大约一秒,但它仍然好得多。
所以我建议两个都试一试,看看哪个对你的情况更有效。

uidvcgyl

uidvcgyl8#

编写查询:截断“您表名”;

l2osamch

l2osamch9#

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

也可以使用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

有关详细文档,请参阅**DELETETRUNCATE**

相关问题