Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — INSTITUTO AOCP 2024

Banco de DadosConsultas e Comandos em SQL
Código
qa630640
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )

Considerando a Linguagem de Manipulação de Dados (DML – Data Manipulation Language) em SQL, assinale a alternativa correta.

  1. AO comando DELETE remove todas as linhas de uma tabela e a estrutura da tabela do banco de dados.
  2. BO comando INSERT INTO é utilizado para atualizar os dados existentes em uma tabela.
  3. CO comando UPDATE é usado para modificar os dados existentes em uma tabela com base em uma condição específica.
  4. DO comando SELECT cria uma nova tabela com os resultados de uma consulta.
  5. EO comando TRUNCATE TABLE adiciona uma nova coluna a uma tabela existente.
Revelar gabarito e comentário

GabaritoC — O comando UPDATE é usado para modificar os dados existentes em uma tabela com base em uma condição específica.

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 DML em SQL: manipulação de dados

Gabarito: letra C. O comando UPDATE é, de fato, utilizado para modificar os dados existentes em uma tabela, podendo ser aplicado a um ou mais registros com base em uma condição específica (cláusula WHERE). As demais alternativas trocam as funções dos comandos: DELETE remove linhas, mas não a estrutura da tabela; INSERT INTO insere novos dados, não atualiza; SELECT consulta dados, não cria tabelas; e TRUNCATE TABLE remove todos os dados de uma tabela, não adiciona colunas.

A Linguagem de Manipulação de Dados (DML – Data Manipulation Language) é a subdivisão do SQL responsável por interagir com os dados armazenados nas tabelas, e não com a estrutura dessas tabelas. Enquanto a DDL (Data Definition Language) cuida da definição e alteração de objetos do banco (tabelas, índices, etc.), a DML realiza as operações de inclusão, consulta, alteração e exclusão de registros. Os quatro comandos clássicos da DML são:

  • INSERT – insere novos registros (linhas) em uma tabela.

  • SELECT – consulta/recupera dados de uma ou mais tabelas.

  • UPDATE – modifica dados existentes em uma tabela.

  • DELETE – remove registros de uma tabela.

Esses comandos correspondem, respectivamente, às operações básicas de um banco de dados: Create, Read, Update e Delete (o famoso CRUD). É importante notar que, embora alguns autores classifiquem o SELECT em um grupo próprio (DQL – Data Query Language), a grande maioria das bancas, incluindo a AOCP, o considera parte da DML.

A confusão mais comum neste tema envolve os comandos DELETE e TRUNCATE TABLE. Ambos removem dados, mas pertencem a sublinguagens diferentes e têm comportamentos distintos:

Critério

DELETE (DML)

TRUNCATE TABLE (DDL)

Sublinguagem

DML

DDL

O que remove

Linhas (registros)

Todas as linhas

Condição (WHERE)

Permite filtrar quais linhas remover

Não permite condição – remove todas

Estrutura da tabela

Mantida

Mantida

Gatilhos (triggers)

Dispara

Não dispara

Velocidade

Mais lento (registro a registro)

Mais rápido (desaloca páginas)

Contador de autoincremento

Não reinicia

Reinicia (em muitos SGBDs)

A pegadinha da banca está exatamente em misturar as funções dos comandos DML com os comandos DDL. O candidato que decora apenas os nomes dos comandos, sem saber a qual sublinguagem cada um pertence e qual a sua real finalidade, tende a cair em alternativas que atribuem a um comando a função de outro. Por exemplo, a alternativa E afirma que TRUNCATE TABLE adiciona uma coluna, mas essa é a função do comando ALTER TABLE (DDL), que serve para adicionar, modificar ou excluir colunas de uma tabela existente.

Guarde a fronteira: DML manipula os dados dentro das tabelas; DDL define a estrutura das tabelas e outros objetos. É exatamente nessa distinção que as alternativas se dividem.

Alternativa A — ❌ Incorreta

O comando DELETE remove linhas de uma tabela, mas não remove a estrutura da tabela. A estrutura (definição das colunas, tipos, restrições) permanece intacta. Para remover a tabela e sua estrutura, o comando correto é o DROP TABLE (DDL). A alternativa mistura a função do DELETE (remover dados) com a do DROP (remover a estrutura).

Alternativa B — ❌ Incorreta

O comando INSERT INTO é utilizado para inserir novos registros em uma tabela, não para atualizar dados existentes. A atualização de dados é função do comando UPDATE. A alternativa troca a função do INSERT pela do UPDATE.

Alternativa C — ✅ Correta ⟵ GABARITO

O comando UPDATE é, de fato, utilizado para modificar os dados existentes em uma tabela. Ele pode atualizar um ou mais registros, e a cláusula WHERE permite especificar uma condição para determinar quais linhas serão alteradas. Sem a cláusula WHERE, todos os registros da tabela seriam atualizados. Esta é a definição correta e literal do comando.

Alternativa D — ❌ Incorreta

O comando SELECT é utilizado para consultar/recuperar dados de uma ou mais tabelas, não para criar uma nova tabela. Para criar uma tabela a partir do resultado de uma consulta, utiliza-se o comando CREATE TABLE ... AS SELECT ... (DDL), que combina a criação da estrutura com a inserção dos dados retornados pela consulta. A alternativa atribui ao SELECT uma função que pertence ao CREATE TABLE.

Alternativa E — ❌ Incorreta

O comando TRUNCATE TABLE é utilizado para remover todos os dados de uma tabela, mantendo a estrutura da tabela intacta. Ele não adiciona colunas. A adição de colunas é função do comando ALTER TABLE ... ADD COLUMN ... (DDL). A alternativa troca a função do TRUNCATE pela do ALTER TABLE.

NÃO CAIA NESSA!

A banca adora inverter as funções dos comandos SQL, especialmente entre DML e DDL. Aqui, ela trocou DELETE por DROP, INSERT por UPDATE, SELECT por CREATE TABLE e TRUNCATE por ALTER TABLE. A dica é: decore a função de cada comando e a sublinguagem a que pertence. Com treino, você enxerga essas trocas de longe 💪

PEGA ESSA DICA!

Para fixar, monte um mapa mental com as sublinguagens e seus comandos: DML (INSERT, SELECT, UPDATE, DELETE), DDL (CREATE, ALTER, DROP, TRUNCATE), DCL (GRANT, REVOKE) e DTL (COMMIT, ROLLBACK). Nas questões, leia a alternativa e pergunte: "esse comando mexe com os dados ou com a estrutura?" Se mexe com dados, é DML; se mexe com estrutura, é DDL.

Gabarito: letra C

Link permanente: /questoes/qa630640