Analise as assertivas abaixo, as quais apresentam comandos escritos na linguagem SQL padrão ANSI:I. DELETE FROM TB_USUARIO;II. TRUNCATE TB_USUARIO;III. DROP TABLE TB_USUARIO;Considerando que a tabela TB_USUARIO é a única tabela existente no banco de dados e que contém dados, quais dos comandos acima, ao serem executados, excluiriam todos as linhas da tabela TB_USUARIO, mantendo a estrutura da tabela?
AApenas I.
BApenas III.
CApenas I e II.
DApenas II e III.
EI, II e III.
Revelar gabarito e comentário▾
GabaritoC — Apenas I e II.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Comandos SQL: Exclusão de Dados vs. Estrutura
Gabarito: letra C (apenas I e II). A questão testa a diferença entre comandos que removem apenas os dados (DELETE e TRUNCATE) e o que remove também a estrutura da tabela (DROP). Tanto DELETE FROM (sem cláusula WHERE) quanto TRUNCATE eliminam todas as linhas, mas preservam a tabela para novos registros. Já DROP TABLE destrói a tabela por completo.
A banca cobra a classificação dos comandos SQL quanto ao efeito sobre os dados e a estrutura. O ponto central é que DELETE é um comando DML (remove linhas, mantém estrutura), TRUNCATE é DDL (remove todas as linhas, também mantém a estrutura, mas não é registrado no log transacional como o DELETE), e DROP é DDL que elimina a tabela inteira.
Comando SQL
Remove todas as linhas?
Mantém a estrutura da tabela?
Classificação
DELETE FROM TB_USUARIO
Sim
Sim
DML
TRUNCATE TB_USUARIO
Sim
Sim
DDL
DROP TABLE TB_USUARIO
Sim
Não
DDL
Comandos SQL (exclusão de dados)
1Mantêm a estrutura
DELETE (DML)
Remove linhas
Log transacional
TRUNCATE (DDL)
Remove linhas
Sem log transacional
2Não mantêm a estrutura
DROP (DDL)
Remove tabela inteira
LEVEL · soulevel.com.br
Item I — ✅ Correto
DELETE FROM TB_USUARIO; remove todas as linhas da tabela, pois não há cláusula WHERE. A estrutura da tabela permanece intacta. Comando DML válido na SQL ANSI.
Item II — ✅ Correto
TRUNCATE TB_USUARIO; (embora a sintaxe completa ANSI seja TRUNCATE TABLE TB_USUARIO;) remove todas as linhas e preserva a estrutura da tabela. É um comando DDL, mais rápido que DELETE para limpar toda a tabela. A ausência da palavra TABLE no enunciado não invalida o comando para os fins da questão — a banca considera como válido.
Item III — ❌ Incorreto
DROP TABLE TB_USUARIO; exclui a tabela inteira (dados + estrutura). Após sua execução, a tabela não existe mais, portanto não mantém a estrutura. Logo, não atende ao requisito.
Conclusão: Apenas os comandos I e II eliminam todos os dados sem apagar a tabela. Portanto, o gabarito é a letra C (Apenas I e II).