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

- CCerto
- EErrado

GabaritoE — Errado
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.
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.
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