Database
 sql >> Base de Dados >  >> RDS >> Database

Soltar vs Truncar no SQL


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.