Diferença entre Excluir e soltar

Anonim

Excluir vs Gota

Ambos os comandos Excluir e Soltar pertencem às instruções SQL (Structured Query Language) e são usado em caso de remoção de dados de um banco de dados. Delete é um comando DML (Data Manipulation Language). Ele exclui alguns ou todos os dados de uma tabela de acordo com a condição que o usuário especificou. A declaração de exclusão remove apenas os registros de dados na tabela, mas a estrutura da tabela apresenta o mesmo no banco de dados. O comando Drop é uma declaração DDL (Data Definition Language), e atua de maneira diferente do comando Delete. Não é uma declaração baseada em condicional, portanto, exclui dados inteiros da tabela, também remove a estrutura da tabela e todas as referências dessa tabela permanentemente do banco de dados.

Excluir declaração

Como mencionado acima, a declaração Excluir remove dados de uma tabela com base na condição fornecida e a cláusula Where é usada com Excluir para especificar esta condição necessária. Se a cláusula Where não for declarada com Excluir, todos os dados da tabela serão removidos da tabela. No entanto, na operação Excluir, a estrutura da tabela existente permanece igual. Portanto, o usuário não precisa definir a estrutura da tabela se ele / ela quiser reutilizar a tabela novamente. Como Delete é um comando DML, ele não se confirma automaticamente após a execução. Então, isso pode ser revertido para desfazer a operação anterior. Caso contrário, a declaração de confirmação deve ser chamada para tornar as alterações permanentes. Ao executar a instrução Delete, ele registra uma entrada no log de transações para cada exclusão de linha. Então, isso afeta a redução da operação. Além disso, não desaloca o espaço usado após a execução.

A seguir está a sintaxe para a declaração Delete. A declaração

DELETE FROM

ou

DELETE FROM WHERE

Drop Statement

Drop exclui não apenas todos os registros da tabela do banco de dados sem qualquer condição, mas também remove a estrutura da tabela, restrições de integridade, índices e privilégios de acesso da tabela relevante do banco de dados de forma permanente. Portanto, todos os relacionamentos para outras tabelas também não existem, e as informações sobre a tabela são removidas do dicionário de dados. Então, se o usuário deseja reutilizar a tabela, ele / ela precisa definir a estrutura da tabela e todas as outras referências à tabela novamente. Drop é um comando DDL e após a execução do comando, ele não pode ser revertido novamente, porque o comando Drop usa um compromisso automático. Portanto, o usuário deve ter muito cuidado ao usar esse comando. A declaração Drop não pode ser aplicada nas tabelas do sistema, e também não pode ser usada para as tabelas que têm restrições de chave estrangeira.

O comando Drop pode ser usado não apenas para tabelas SQL, mas também para bancos de dados, visualizações e colunas de tabelas, e todos os dados armazenados nesses objetos são perdidos para sempre junto com os objetos.

A seguir está a sintaxe típica para o comando Drop.

DROP TABLE

Qual a diferença entre Delete e Drop?

1. Os comandos Eliminar e Soltar removem dados de tabela de um banco de dados.

2. Mas a instrução Delete executa a eliminação baseada em condições condicionais, enquanto o comando Drop exclui todos os registros na tabela.

3. Além disso, a instrução Delete exclui apenas as linhas na tabela e preserva a estrutura da tabela como o mesmo, enquanto que o comando Drop remove todos os dados na tabela e na estrutura da tabela, além disso, remove todas as outras referências do banco de dados.

4. Delete é uma declaração DML, enquanto Drop é um comando DDL. Portanto, a operação de exclusão pode ser revertida e não é autenticada automaticamente, enquanto a operação Drop não pode ser revertida de forma alguma, pois é uma declaração auto comprometida.

5. O comando Drop não pode ser usado nas tabelas que foram referenciadas por restrições de chaves estrangeiras, enquanto o comando Delete pode ser usado em vez disso.

6. O comando Drop deve ser usado com cuidado com um bom entendimento em comparação com a declaração Delete em aplicativos SQL.