Diferença entre DELETE e DROP no SQL
Contente
- Conteúdo: DELETE Vs DROP
- Gráfico de comparação
- Definição de DELETE
- Definição de DROP
- Principais diferenças entre DELETE e DROP no SQL
DELETE e DROP são os comandos usados para remover os elementos do banco de dados. O comando DELETE é um comando de linguagem de manipulação de dados, enquanto que o DROP é um comando de linguagem de definição de dados. O ponto que distingue os comandos DELETE e DROP é que EXCLUIR é usado para remover tuplas de uma tabela e SOLTA é usado para remover todo o esquema, tabela, domínio ou restrições do banco de dados. Vamos discutir mais algumas diferenças entre os comandos DELETE e DROP no SQL com a ajuda do gráfico de comparação abaixo.
Conteúdo: DELETE Vs DROP
- Gráfico de comparação
- Definição
- Principais diferenças
- Conclusão
Gráfico de comparação
Base para Comparação | EXCLUIR | SOLTA |
---|---|---|
Basic | DELETE remova algumas ou todas as tuplas de uma tabela. | O DROP pode remover todo o esquema, tabela, domínio ou restrições do banco de dados. |
Língua | DELETE é um comando da linguagem de manipulação de dados. | DROP é um comando da linguagem de definição de dados. |
Cláusula | A cláusula WHERE pode ser usada junto com o comando DELETE. | Nenhuma cláusula é usada junto com o comando DROP. |
Reversão | As ações executadas por DELETE podem ter o backup em rolo. | As ações executadas pelo DROP não podem ser revertidas. |
Espaço | Mesmo se você excluir todas as tuplas da tabela usando DELETE, o espaço ocupado pela tabela na memória não será liberado. | A tabela excluída usando o DROP libera o espaço da tabela da memória. |
Definição de DELETE
DELETE é um Linguagem de Manipulação de Dados (DDL). O comando DELETE é usado quando você deseja remover alguns ou todas as tuplas de uma relação. E se ONDE é usada junto com o comando DELETE, remove apenas as tuplas que atendem à condição da cláusula WHERE.
Se a cláusula WHERE estiver ausente na instrução DELETE, por padrão, todas as tuplas serão removidas da relação, embora a relação que contém essas tuplas ainda exista no esquema. Você não pode excluir uma relação ou domínios ou restrições inteiros usando o comando DELETE.
A sintaxe do comando DELETE é a seguinte:
DELETE FROM nome_da_relação WHERE condição;
Se você vincular duas tabelas usando um chave estrangeira e excluir uma tupla de uma tabela referenciada, automaticamente a tupla da tabela de referência também será excluída para manter o integridade referencial.
Para manter a integridade referencial, DELETE tem duas opções comportamentais, RESTRINGIR e CASCATA. RESTRICT rejeita a exclusão da tupla se referenciada por uma tupla de referência em outra tabela. O CASCADE permite a exclusão da tupla de referência que se refere à tupla que está sendo excluída.
Definição de DROP
DROP é um Linguagem de definição de dados (DDL). O comando DROP remove os elementos nomeados do esquema, como relações, domínios ou constrangimentos, você pode até remover um esquema usando o comando DROP.
A sintaxe do comando DROP é a seguinte:
DROP SCHEMA schema_name RESTRICT;
Tabela DROP table_name CASCADE;
O comando DROP possui duas opções comportamentais denominadas CASCATA e RESTRINGIR. Quando o CASCADE é usado para soltar o esquema, ele exclui todos os elementos relacionados, como todas as relações no esquema, domínios e restrições.
Quando você usa o CASCADE para remover uma relação (tabela) de um esquema, ele exclui todas as restrições, visualizações e também os elementos que fazem referência à relação que está sendo eliminada.
Caso você DROP um esquema usando RESTRICT, o comando DROP será executado apenas se os elementos no esquema são deixados. Se você DROP uma tabela usando RESTRICT, o comando DROP será executado apenas se nenhum elemento no tabela são deixados.
Principais diferenças entre DELETE e DROP no SQL
- O comando DELETE é usado para remover algumas ou todas as tuplas da tabela. Por outro lado, o comando DROP é usado para remover o esquema, tabela, domínio ou restrições do banco de dados.
- DELETE é um comando de linguagem de manipulação de dados, enquanto DROP é um comando de linguagem de definição de dados.
- DELETE pode ser usado junto com a cláusula WHERE, mas DROP não é usado junto com nenhum comando.
- As ações executadas pelo comando DELETE podem ser recuperadas, mas não no caso do comando DROP.
- Como o comando DELETE não exclui a tabela, portanto, nenhum espaço é liberado, enquanto que DROP exclui a tabela inteira libera o espaço da memória.
Conclusão:
O comando DELETE é usado para excluir as linhas dentro de uma tabela e o comando DROP é usado para excluir a própria tabela completa.