Exclua todos os registros em uma tabela de MYSQL no phpMyAdmin

122

Eu uso o wampserver 2.2. Quando eu quero excluir todos os registros de uma tabela no phpMyAdmin (selecionar tudo), ele exclui apenas um registro, não todos os registros. Por que não exclui todos os registros?

Amirhosein Heydari
fonte
3
depende da sua consulta, você executou assim? DELETE FROM tableName
John Woo de
Destaque o nome da mesa e pressioneSHIFT-DEL
DevlshOne

Respostas:

130

Vá para sua estrutura db -> e esvazie na tabela necessária. Veja aqui:

esta imagem

Yalamber
fonte
167

Você tem 2 opções deletee truncate:

  1. delete from mytable

    Isso vai deletar todo o conteúdo da tabela, não zerando o id autoincremental, esse processo é muito lento. Se você deseja excluir registros específicos, anexe uma cláusula where no final.

  2. truncate myTable

    Isso redefinirá a tabela, ou seja, todos os campos incrementais automáticos serão redefinidos. É um DDL e muito rápido. Você não pode excluir nenhum registro específico truncate.

Sashi Kant
fonte
130

Vá para a guia Sql e execute uma das seguintes consultas:

delete from tableName;

Excluir : irá excluir todas as linhas de sua tabela. A próxima inserção terá o próximo ID de incremento automático.

ou

truncate tableName;

Truncar : também excluirá as linhas de sua tabela, mas começará a partir de uma nova linha com 1.

Um blog detalhado com exemplo: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

Suresh Kamrushi
fonte
27

Use esta consulta:

DELETE FROM tableName;

Observação: para excluir algum registro específico, você também pode fornecer a condição na cláusula where na consulta.

OU você também pode usar esta consulta:

truncate tableName;

Lembre-se também de que você não deve se relacionar com outra mesa. Se houver qualquer restrição de chave estrangeira na tabela, esse registro não será excluído e apresentará o erro.

Código L ღ ver
fonte
19

Você pode excluir todas as linhas com este comando. Mas lembre-se de uma coisa: depois de executar o comando truncate, você não pode reverter.

  truncate tableName;
Gen
fonte
11

'Truncar nome_da_tabela' falhará em uma tabela com restrição de chave definida. Também não reindexará o AUTO_INCREMENTvalor da tabela . Em vez disso, exclua todas as entradas da tabela e redefina a indexação de volta para 1 usando esta sintaxe sql:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1
DevWL
fonte
4

Um fato interessante.

Eu tinha certeza de que o TRUNCATE sempre terá um desempenho melhor, mas no meu caso, para um banco de dados com aproximadamente 30 tabelas com chaves estrangeiras, preenchidas com apenas algumas linhas, demorou cerca de 12 segundos para TRUNCAR todas as tabelas, em vez de apenas algumas centenas de milissegundos para EXCLUIR as linhas. Definir o incremento automático adiciona cerca de um segundo no total, mas ainda é muito melhor.

Portanto, sugiro que experimente os dois, veja qual funciona mais rápido para o seu caso.

Sorin
fonte
1

escreva a consulta: truncate 'Your_table_name';

Shadman Sakib
fonte