Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — Quadrix 2024

Banco de DadosMySQL
Código
qg354212
Banca
Quadrix
Órgão
IBICT
Ano
2024
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação

Imagem da questão

Com relação ao código SQL acima, no SGBD MySQL, julgue o item.Para que seja atualizado o e‑mail do autor João Silva, deve‑se executar o comando a seguir.UPDATE Autores SET Email == ‘[email protected]’ WHERE Nome = ‘João Silva’;
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Comando UPDATE no MySQL: sintaxe de atribuição

Gabarito: ERRADO (letra E). O comando apresentado contém um erro de sintaxe: o operador de atribuição no comando UPDATE deve ser = (sinal de igual simples), e não == (igualdade). No SQL padrão e no MySQL, == não é um operador válido para atribuição de valores em comandos UPDATE; o correto seria SET Email = '[email protected]'.

O comando UPDATE é um comando da sublinguagem DML (Data Manipulation Language) do SQL, responsável por modificar dados existentes em uma tabela. Sua sintaxe básica é:

UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2, ...
WHERE condição;

A cláusula SET define quais colunas serão alteradas e os novos valores, sempre utilizando o operador de atribuição = (um único sinal de igual). A cláusula WHERE é opcional, mas essencial para restringir quais registros serão atualizados; sem ela, todos os registros da tabela seriam alterados.

No caso do enunciado, a intenção é atualizar o e-mail do autor chamado 'João Silva'. A estrutura lógica do comando está correta: a tabela Autores possui a coluna Email e a coluna Nome, e a condição WHERE Nome = 'João Silva' filtra exatamente o registro desejado. O problema está exclusivamente no operador == utilizado na cláusula SET.

O operador == é comumente usado em linguagens de programação (como C, Java, Python) para comparação de igualdade, mas no SQL ele não é um operador válido. No SQL, a comparação de igualdade é feita com = (um sinal), e a atribuição de valores também é feita com = (um sinal). Portanto, o comando correto seria:

UPDATE Autores
SET Email = '[email protected]'
WHERE Nome = 'João Silva';

A banca explora exatamente essa confusão entre o operador de atribuição/comparação do SQL e o operador de igualdade de outras linguagens. O candidato que conhece a sintaxe do SQL identifica imediatamente o erro, mas quem está acostumado com linguagens de programação pode não perceber a pegadinha.

NÃO CAIA NESSA!

A banca troca o operador de atribuição = por ==, que é o operador de igualdade em linguagens como C, Java e Python. No SQL, tanto a atribuição quanto a comparação de igualdade usam = (um sinal). O comando SET Email == '...' é inválido e geraria um erro de sintaxe no MySQL.

  1. 1UPDATE tabela
  2. 2SET coluna = valor
  3. 3WHERE condição
LEVEL · soulevel.com.br

Item — ❌ ERRADO

O comando apresentado está incorreto porque utiliza == na cláusula SET, o que não é um operador válido no SQL. O operador correto para atribuição de valores é = (um sinal de igual). A estrutura lógica do comando (tabela, coluna, condição) está correta, mas o erro de sintaxe invalida o comando.

Gabarito: ERRADO (letra E).

Link permanente: /questoes/qg354212