Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FGV 2026

Banco de DadosSQL
Código
gp018296
Banca
FGV
Órgão
TJ-SC
Ano
2026
Cargo
Analista de Sistemas
Jonas é administrador de banco de dados do Tribunal de Justiça deSanta Catarina. Em sua rotina, realiza criação, manipulação edefinição de dados por meio de linguagem SQL, atendendo àsdemandas da equipe de desenvolvimento de sistemas. Emdeterminada tarefa, verificou que havia criado uma tabela deforma equivocada e que ela não seria mais necessária, inclusive emsua estrutura. Diante disso, para eliminar definitivamente essa tabela, ele deveutilizar o comando
  1. ATRUNCATE table.
  2. BDELETE table.
  3. CUPDATE table.
  4. DGRANT table.
  5. EDROP table.
Revelar gabarito e comentário

GabaritoE — DROP table.

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: DROP, TRUNCATE, DELETE e a estrutura da tabela

Gabarito: letra E. Para eliminar definitivamente uma tabela, incluindo sua estrutura, o comando correto é o DROP TABLE, que remove o objeto inteiro do banco de dados — dados e definição. Os demais comandos (TRUNCATE, DELETE, UPDATE, GRANT) não removem a estrutura da tabela, apenas manipulam dados ou permissões.

O SQL (Structured Query Language) é a linguagem padrão para acesso e manipulação de bancos de dados relacionais. Ela se divide em sublinguagens, cada uma com um propósito específico: a DDL (Data Definition Language) trabalha com a definição de objetos (tabelas, índices, views), a DML (Data Manipulation Language) manipula os dados dentro desses objetos, a DCL (Data Control Language) gerencia permissões e a DTL (Data Transaction Language) controla transações. Essa divisão é a chave para entender por que cada comando faz o que faz.

O comando DROP TABLE pertence à DDL e é usado para deletar uma tabela existente, removendo tanto os dados quanto a estrutura (colunas, índices, constraints). É uma operação irreversível — uma vez executada, a tabela deixa de existir no banco. A sintaxe básica é DROP TABLE nome_da_tabela;. No enunciado, Jonas criou uma tabela equivocada e ela não será mais necessária "inclusive em sua estrutura", ou seja, ele precisa eliminar o objeto por completo, não apenas os registros. É exatamente isso que o DROP faz.

Para contrastar, o TRUNCATE TABLE também remove todos os dados de uma tabela, mas preserva a estrutura — a tabela continua existindo, apenas vazia. O DELETE remove registros específicos (com cláusula WHERE) ou todos, mas também mantém a estrutura. O UPDATE altera valores de registros existentes, e o GRANT concede permissões de acesso. Nenhum desses comandos elimina a tabela em si.

A pegadinha clássica desta questão é confundir TRUNCATE com DROP, pois ambos removem dados. A diferença crucial está na estrutura: o TRUNCATE esvazia a tabela, o DROP a elimina. Como o enunciado enfatiza que a tabela não será mais necessária "inclusive em sua estrutura", o comando correto é o DROP.

Guarde essa distinção: DROP = remove o objeto (tabela) inteiro; TRUNCATE = remove apenas os dados, mantendo a estrutura; DELETE = remove registros específicos. É nessa fronteira que as alternativas se dividem.

  1. 1DROP TABLE
  2. 2TRUNCATE TABLE
  3. 3DELETE FROM
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O TRUNCATE TABLE remove todos os dados da tabela, mas preserva a estrutura (colunas, índices, constraints). A tabela continua existindo no banco, apenas vazia. Como o enunciado pede para eliminar a tabela "inclusive em sua estrutura", o TRUNCATE não atende ao requisito. Ele é útil quando se quer limpar uma tabela rapidamente, sem apagar sua definição.

Alternativa B — ❌ Incorreta

O DELETE FROM table é um comando da DML usado para remover registros específicos (com cláusula WHERE) ou todos os registros de uma tabela. Ele não remove a estrutura da tabela — a tabela continua existindo, apenas com os dados excluídos. Além disso, o DELETE pode ser transacional (pode ser desfeito com ROLLBACK em muitos SGBDs), o que o torna inadequado para eliminar definitivamente a estrutura.

Alternativa C — ❌ Incorreta

O UPDATE table é um comando da DML usado para modificar valores de registros existentes em uma tabela. Ele não remove dados nem estrutura — apenas altera o conteúdo das colunas. Não tem nenhuma relação com a eliminação de uma tabela.

Alternativa D — ❌ Incorreta

O GRANT é um comando da DCL (Data Control Language) usado para conceder permissões de acesso a usuários ou roles no banco de dados (ex.: GRANT SELECT ON tabela TO usuario). Ele não manipula dados nem estrutura — apenas controla privilégios de segurança. Não serve para eliminar tabelas.

Alternativa E — ✅ Correta ⟵ GABARITO

O DROP TABLE é o comando da DDL usado para deletar uma tabela existente, removendo tanto os dados quanto a estrutura (colunas, índices, constraints). É uma operação irreversível e definitiva. A sintaxe é DROP TABLE nome_da_tabela;. Como Jonas precisa eliminar a tabela "inclusive em sua estrutura", o DROP é exatamente o comando adequado.

PEGA ESSA DICA!

Para diferenciar na prova, pergunte-se: "o que precisa ser removido?" Se for a tabela inteira (estrutura + dados), use DROP. Se for apenas os dados (mantendo a estrutura), use TRUNCATE. Se for registros específicos, use DELETE. Essa tríade cobre a maioria das questões sobre remoção em SQL.

Gabarito: letra E

Link permanente: /questoes/gp018296