Questão de Banco de Dados — SQL — Quadrix 2025
- Código
- qg600023
- Banca
- Quadrix
- Órgão
- CRO-SP
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Desenvolvimento de Sistemas de Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO (letra E). O comando DELETE FROM pacientes; remove os dados (linhas) da tabela, mas não remove a tabela em si — a estrutura permanece no banco de dados. Para remover a tabela e seus dados, o comando correto é DROP TABLE pacientes;. A afirmação confunde o comando DML DELETE com o comando DDL DROP.
A linguagem SQL é dividida em subgrupos conforme a função de cada comando. O DELETE pertence à DML (Data Manipulation Language), que lida com os dados armazenados — inserir, atualizar, excluir e consultar registros. Já o DROP pertence à DDL (Data Definition Language), que lida com a estrutura do banco — criar, alterar e excluir tabelas, índices, visões e outros objetos. Essa distinção é fundamental: enquanto o DELETE opera sobre o conteúdo, o DROP opera sobre o próprio objeto.
Na prática, ao executar DELETE FROM pacientes; sem cláusula WHERE, todas as linhas da tabela são apagadas, mas a tabela continua existindo, vazia, pronta para receber novos registros. Para eliminar a tabela por completo, seria necessário DROP TABLE pacientes;. Há ainda o TRUNCATE TABLE pacientes;, que também remove todos os dados, mas de forma mais rápida que o DELETE, pois não registra cada exclusão no log de transações — porém, igualmente, mantém a estrutura da tabela.
A pegadinha da banca está em atribuir ao DELETE uma função que é do DROP. O candidato que não domina a classificação dos comandos SQL tende a aceitar a afirmação como correta, pois ambos "apagam" algo. A distinção entre remover dados e remover a estrutura é o critério decisivo: DELETE e TRUNCATE apagam dados; DROP apaga a tabela (estrutura + dados).
A banca troca o comando DELETE (DML — remove dados) pelo DROP (DDL — remove a tabela). O candidato que lê "remove permanentemente a tabela" e associa a DELETE cai na armadilha. Lembre-se: DELETE apaga linhas; DROP apaga a tabela inteira.
Comando | Categoria SQL | O que remove | Estrutura da tabela |
|---|---|---|---|
| DML | Dados (linhas) | Mantida |
| DDL | Dados (linhas) | Mantida |
| DDL | Tabela (estrutura + dados) | Removida |
A afirmação está errada porque o comando DELETE FROM pacientes; remove apenas os registros da tabela, não a tabela em si. A estrutura da tabela (colunas, tipos, constraints) permanece intacta no banco de dados. Para remover a tabela e seus dados, o comando correto é DROP TABLE pacientes;. A banca explora exatamente essa confusão entre os comandos DML e DDL.
Gabarito: letra E (ERRADO).
Link permanente: /questoes/qg600023