Questão de Banco de Dados — SQL — Quadrix 2025
- Código
- qg596856
- Banca
- Quadrix
- Órgão
- CRC-SP
- Ano
- 2025
- Nível
- Médio
- Cargo
- Assistente Web e Multimídia
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO (letra E). O comando DELETE não remove uma tabela inteira do banco de dados; ele apaga linhas (registros) de uma tabela, sendo um comando da subdivisão DML (Data Manipulation Language). Quem remove a tabela inteira (estrutura e dados) é o comando DROP TABLE, da subdivisão DDL (Data Definition Language).
O SQL (Structured Query Language) é a linguagem padrão para gerenciar bancos de dados relacionais. Ela se divide em subconjuntos conforme a finalidade: DDL (Data Definition Language) para definir a estrutura (CREATE, ALTER, DROP, TRUNCATE), DML (Data Manipulation Language) para manipular os dados (INSERT, UPDATE, DELETE), DCL (Data Control Language) para controle de acesso (GRANT, REVOKE), e TCL (Transaction Control Language) para transações (COMMIT, ROLLBACK). Essa divisão é essencial para entender o que cada comando faz.
O DELETE é um comando DML que remove linhas de uma tabela, podendo ser condicionado pela cláusula WHERE. Se usado sem WHERE, apaga todas as linhas, mas a tabela continua existindo (vazia). Já o DROP TABLE é um comando DDL que remove a tabela inteira do banco de dados, incluindo sua estrutura e todos os dados. O TRUNCATE também é DDL e remove todas as linhas de forma mais rápida que o DELETE sem WHERE, mas também mantém a estrutura da tabela.
Na prática, se uma empresa de contabilidade quiser excluir apenas o registro de um cliente específico, usaria DELETE FROM clientes WHERE id = 10;. Se quisesse apagar todos os registros da tabela, mas mantê-la para uso futuro, usaria DELETE FROM clientes; ou TRUNCATE TABLE clientes;. Somente se quisesse eliminar a tabela por completo (por exemplo, porque não é mais necessária), usaria DROP TABLE clientes;.
A pegadinha da banca está em confundir o efeito do DELETE (remove linhas) com o do DROP (remove a tabela). O candidato que não domina a diferença entre DML e DDL tende a marcar como certo, mas a afirmação é falsa.
Guarde a fronteira: DELETE = remove dados (linhas); DROP = remove a estrutura (tabela). É exatamente nessa distinção que a questão se resolve.
Critério | DELETE | DROP TABLE |
|---|---|---|
Subdivisão SQL | DML | DDL |
O que remove | Linhas (registros) | Tabela inteira (estrutura + dados) |
Sem WHERE | Apaga todas as linhas, tabela permanece | — |
Estrutura da tabela | Mantida | Removida |
A afirmação "O comando DELETE remove uma tabela inteira do banco de dados" está errada. O DELETE é um comando da DML (Data Manipulation Language) e sua função é remover linhas de uma tabela, não a tabela em si. Para remover a tabela inteira, o comando correto é DROP TABLE, que pertence à DDL (Data Definition Language). O DELETE pode até apagar todos os registros se usado sem WHERE, mas a tabela permanece no banco, apenas vazia. Portanto, a alternativa correta é a letra E (Errado).
Para não confundir, lembre-se: DELETE apaga Dados (linhas); DROP apaga a estrutura (tabela). Na prova, quando a questão falar em "remover tabela", o comando é DROP TABLE; quando falar em "remover registros", é DELETE.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/qg596856