Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Superwagtel

Deletar registros

Recommended Posts

Como faço para deletar todos os registros de uma coluna dentro de uma tabela !na verdade eu quero excluir todos os registros e zerar a tabela !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Procurei, mas não encontrei o truncate!Onde está o truncate?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal a dica, entrei no www.mysql.org mas não entendi nada, ta tudo em inglês !

 

Entrando no:

Administrador > Catalogs > database

Aparecem as tabelas

Quando seleciono uma e clico com o direito aparecem as opções:

Edit Table

Edit Table Data

Maintenance

Create Table

Refresh

 

Qual destas opções devo usar para deletar todos os registros?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal,

 

Essa questão de exclusão de resgistros é assunto até de nível acadêmico, pois, existem opções relamente efetivas mas que dependem diretamente da situação que temos para aplicação destas opções, sendo que, uma irá zerar oulimpar todas as páginas de dados e outra somente exclui a referência do registro.

 

Bom, quando se deseja apenas apagar uma tupla, ou registro (linha da tabela) a melhor opção é o DELETE que nos várias opções de comandos como:

1º Exemplo:

DELETE FROM <tabela> /* apagamos todos os registros de uma tabela sem apagar as páginas de dados */

2º Exemplo

DELETE FROM <tabela> WHERE <campo> = <valor> /* apagamos filtrando por um identificador de tuplas */

3º Exemplo

DELETE FROM <tabela_1> [ INNER | LEFT | RIGHT ] JOIN <tabela_2>						 ON <tabela_1>.<campo_tabela_1> = <tabela_2>.<campo_tabela_2>						 WHERE <condição> /*Delete com efeito cascade, analogamente, deltemos um cliente e todas as suas compas na tebela relacionada*/

Bom, só para terminar com o DELETE, esta declaração pertencente à linguagem SQL ANSI, apaga a referência do registro e não a página de dados.

Um exemplo bem prático é:

 

>> Crie a seguinte tabela:

 

CREATE TABLE teste (id int not null auto_increment primary key,nome varchar(80) not null);

Insira alguns registro e depois exclua um registro do meio da tabela. . .após isto, insira mais um. . .na sequência você perceberá que a contagem incremental dos registro fica com a sequência quebrada. Isso é o que acontece com o delete, apaga somente a referência do registro e não mexe na página de dados que foi alocada em baixo nível.

 

A outra opção é TRUNCATE:

 

A opção TRUNCATE não espera nenhum parâmetro, nem menos uma variação do comando. Uma vez TRUNCANDO a tabela, todos os registro juntamente com as páginas de dados são removidas de uma só vez, então, MUITO CUIDADO.

 

Um detalhe interessante é que, se você der um TRUNCATE na nossa tabela de exemplo (excluindo todos os dados), o número sequencial do auto incremento do campo chave-primária irá reiniciar de "1" a sua contagem de registros.

 

Bom, qualquer dúvida, estou à disposição. . .espero ter ajudado!!

 

Feliz Natal, (X-Christman's)... http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.