Neste artigo, aprenderemos e entenderemos os comandos Drop e Truncate e a diferença entre esses dois comandos.
O que é comando de soltar?
Drop é um comando da Linguagem de Definição de Dados na Linguagem de Consulta Estruturada. O comando Drop no SQL é usado para excluir ou descartar a definição da tabela, o banco de dados, os índices, a exibição, os gatilhos e as restrições de dados das tabelas do banco de dados.
Na linguagem de consulta estruturada, o comando drop é usado para eliminar os elementos do sistema de gerenciamento de banco de dados relacional (RDBMS).
O comando Delete pode reverter os dados depois de executado, mas os comandos Drop não podem reverter os dados depois de executados. O comando Drop é usado para liberar memória onde o espaço da tabela está armazenado porque os comandos drop excluem a tabela e seu conteúdo permanentemente.
O comando Drop é rápido em comparação com o comando truncate na Structured Query Language. Mas, o tempo de execução do comando drop é lento porque tem muitas complicações.
Para excluir uma ou mais colunas da tabela, usamos o comando drop com o comando ALTER TABLE.
A sintaxe do comando DROP para remover o banco de dados é a seguinte:
DROP DATABASE Database_Name;
Na sintaxe acima, temos que especificar o nome do banco de dados que queremos excluir do sistema.
Nota:- Tenha cuidado antes de usar o comando DROP para excluir o banco de dados, pois os comandos drop removem todos os objetos do banco de dados como tabelas, índices, visualizações, gatilhos criados no banco de dados.
A sintaxe para remover a tabela é a seguinte:
DROP TABLE Table_Name;
Na sintaxe acima, temos que especificar o nome da tabela que queremos excluir do banco de dados.
A sintaxe para remover as várias tabelas do mesmo banco de dados em uma única instrução é a seguinte:
DROP TABLE table1, table2, table3;
Podemos excluir várias tabelas do mesmo banco de dados usando a sintaxe acima.
A sintaxe para remover o índice é a seguinte:
DROP INDEX Index_Name;
Temos que especificar o nome do índice na sintaxe acima logo após a palavra-chave do índice.
A sintaxe para remover a visualização é a seguinte:
DROP VIEW View_Name;
Temos que especificar o nome da visualização na sintaxe acima logo após a palavra-chave da visualização.
A sintaxe para remover a restrição da tabela usando ALTER TABLE é a seguinte:
ALTER TABLE Table_Name DROP CONSTRAINT Constraint_Name;
Usando o comando ALTER TABLE no SQL, podemos excluir a restrição da tabela.
Exemplo de comando DROP:
Tomaremos alguns exemplos usando o comando DROP.
Etapa 1: Crie um banco de dados ou use um banco de dados existente. Usaremos dois bancos de dados para o comando DROP.
Etapa 2: Crie uma nova tabela ou use uma tabela, índice, exibição existente.
Exemplo 1: Escreva uma consulta para remover a tabela students_information do banco de dados da escola.
Primeiro, selecionaremos o banco de dados da Escola usando a palavra-chave USE seguida do nome do banco de dados.
USE School;
Vamos escrever o comando drop para excluir a tabela student_information do banco de dados selecionado.
Considere a tabela Estudantes_informações com os seguintes registros:
ID_aluno | Nome_Aluno | Curso_Aluno | Student_Marks |
1 | Anjali | BCOM | 85 |
2 | Pranav | BCA | 80 |
3 | Yogesh | B.E | 88 |
4 | Bushan | MBA | 95 |
5 | Poonam | MCOM | 97 |
6 | Bhavesh | B.E | 90 |
7 | Khushi | BSC | 94 |
8 | Piyush | BCOM | 75 |
9 | Nikita | BA | 88 |
10 | Aishwariya | BSC | 70 |
DROP TABLE Students_Information;
Eliminamos a tabela Students_information com todos os registros presentes dentro da tabela da consulta acima.
Para verificar se a consulta foi executada com sucesso ou não, executaremos a consulta SELECT.
SELECT * FROM Students_Information;
À medida que executamos a consulta de seleção na tabela Informações_Alunos, a mensagem tabela não existe é exibida, o que significa que a consulta do comando Soltar na tabela Informações_Alunos foi executada com sucesso.
Exemplo 2: Escreva uma consulta para eliminar a visualização manager_view1 do banco de dados da empresa.
Considere a visualização manager_view1 com os seguintes registros:
MANAGERID | MANAGER_NAME | MANAGER_DEPARTMENT |
1 | Snehdeep Kaur | ORACLE |
3 | Abhishek Manish | JAVA |
Vamos escrever o comando drop para excluir a view manager_view1 do banco de dados selecionado.
DROP VIEW Manager_view1;
Eliminamos a view manager_view1 da query acima com todos os registros presentes dentro da view.
Para cross_check se a consulta foi executada com sucesso ou não, executaremos a consulta SELECT.
SELECT * FROM Manager_view1;
Conforme executamos a consulta select na view manager_view1, a mensagem view não existe é exibida, o que significa que a consulta do comando Drop na view manager_view1 foi executada com sucesso.
Exemplo 3: Escreva uma consulta para eliminar o banco de dados Cricket do sistema.
Antes de executar o comando drop para o banco de dados, primeiro executamos o comando show databases para verificar no final do comando drop se descartamos com sucesso o banco de dados Cricket do sistema.
SHOW DATABASES;
Banco de dados |
Char |
Empresa |
Críquete |
Funcionário |
Information_schema |
Mysql |
Esquema_desempenho |
Phpmyadmin |
Escola |
Teste |
WordPress |
Acima estão os bancos de dados que já existem no sistema; retiraremos o banco de dados Cricket do sistema. Descartar o banco de dados significa deletar todos os objetos presentes dentro da tabela do banco de dados, visão, índice, gatilhos, etc.
Agora, executaremos uma consulta para descartar o banco de dados Cricket.
DROP DATABASE Cricket;
Executamos a consulta drop no banco de dados Cricket. Para verificar se o banco de dados foi descartado com sucesso ou não, executaremos a consulta SHOW DATABASES.
SHOW DATABASES;
Banco de dados |
Char |
Empresa |
Funcionário |
Information_schema |
Mysql |
Esquema_desempenho |
Phpmyadmin |
Escola |
Teste |
WordPress |
Como você pode ver, o banco de dados de críquete é removido do sistema com sucesso.
Exemplo 4: Escreva uma consulta para excluir a coluna de sobrenome da tabela de funcionários.
ALTER TABLE employee DROP Last_Name;
Excluímos a coluna Last_Name da tabela de funcionários usando o comando DROP com o comando ALTER na consulta acima.
Campo | Tipo | Nulo | Chave | Padrão | Extras |
EMPREGADO | int(11) | NÃO | PRI | NULO | |
FIRST_NAME | varchar(20) | SIM | NULO | ||
SALÁRIO | int(11) | SIM | NULO | ||
CIDADE | varchar(20) | SIM | NULO | ||
DEPARTAMENTO | varchar(20) | SIM | NULO | ||
GERENTEID | int(11) | SIM | NULO |
A saída acima mostra que Last_Name foi excluído da tabela de funcionários.
O que é Comando Truncar?
Truncar é outro comando da Linguagem de Definição de Dados na Linguagem de Consulta Estruturada. O comando Truncar é usado para excluir todos os registros da tabela. Como o comando DROP, mas o comando TRUNCATE não contém uma cláusula WHERE. O comando Truncar é mais rápido que o comando DROP e o comando DELETE. Não podemos reverter os registros como o comando DROP depois de usar o comando TRUNCATE.
Sintaxe do comando TRUNCATE em SQL:
TRUNCATE TABLE tablename;
Na sintaxe acima, devemos mencionar o nome da tabela cujos dados queremos excluir da tabela.
Tomaremos alguns exemplos usando o comando TRUNCATE.
Exemplo de comando TRUNCATE:
Etapa 1: Crie um banco de dados ou use um banco de dados existente.
Etapa 2: Crie uma nova tabela ou use uma tabela existente.
Considere a tabela existente com os seguintes registros:
Tabela:Funcionário:
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE |
1001 | VAIBHAVI | MISHRA | 65500 | PUNE | ORACLE | 1 |
1002 | VAIBHAV | SHARMA | 60.000 | NOIDA | C# | 5 |
1003 | NIQUIL | VANI | 50500 | JAIPUR | FMW | 2 |
2001 | PRAQUI | SHARMA | 55500 | CHANDIGARH | ORACLE | 1 |
2002 | BHAVESH | JAIN | 65500 | PUNE | FMW | 2 |
2003 | RUCHIKA | JAIN | 50.000 | MUMBAI | C# | 5 |
3001 | PRANOTI | SHENDE | 55500 | PUNE | JAVA | 3 |
3002 | ANUJA | QUERER | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAI | JAVA | 3 |
4001 | RAJESH | GOUD | 60500 | MUMBAI | TESTE | 4 |
4002 | ASHWINI | BOLSA | 54500 | NOIDA | JAVA | 3 |
4003 | RUCHIKA | AGARWAL | 60.000 | DÉLHI | ORACLE | 1 |
5001 | ARQUIVO | SHARMA | 55500 | DÉLHI | TESTE | 4 |
Exemplo: Escreva uma consulta para excluir todos os registros da tabela de funcionários usando o comando truncate.
TRUNCATE TABLE Employee;
Excluímos todos os registros da consulta acima da tabela de funcionários.
Para verificar se todos os registros da tabela de funcionários foram excluídos ou não com sucesso, executaremos a consulta SELECT na tabela de funcionários.
SELECT * FROM Employee;
EMPLOYEEID | FIRST_NAME | LAST_NAME | SALÁRIO | CIDADE | DEPARTAMENTO | GERENTE |
À medida que executamos a consulta select na tabela de funcionários, a mensagem set vazio é exibida, o que significa que o comando truncate na tabela de funcionários foi executado com sucesso.
Os pontos abaixo mostram a diferença entre o comando Drop e o comando Truncate na Structured Query Language:
O comando DROP | O comando TRUNCATE |
O comando DROP exclui a estrutura da tabela e os registros da tabela. | O comando TRUNCATE remove todos os registros da tabela. |
O comando DROP é um comando da linguagem de definição de dados. | O comando TRUNCATE também é um comando da linguagem de definição de dados. |
No comando DROP, o espaço de tabela está livre da memória | O comando TRUNCATE não libera o espaço de tabela da memória. |
A visualização de tabela não existe no comando DROP | A visualização de tabela existe no comando TRUNCATE |
No comando DROP, não podemos usar espaço de exclusão. | No comando TRUNCATE, podemos usar espaço de exclusão, mas menos do que em comparação com a instrução DELETE. |
No comando DROP, as restrições de integridade serão removidas automaticamente da tabela. | As restrições de integridade não serão removidas da tabela no comando TRUNCATE. |
O comando DROP exclui os registros rapidamente, mas há muitas complicações. | O comando TRUNCATE é mais rápido que o comando DROP. |