Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2024

Banco de DadosSQL
Código
qg162081
Banca
FUNDATEC
Órgão
CREMERS
Ano
2024
Nível
Superior
Cargo
Analista de TI
O comando SQL abaixo foi executado em um banco de dados de um SGDB MySQL, versão atualizada, com a finalidade de criar uma tabela nomeada como tb_cliente.Imagem associada para resolução da questãoApós a criação da tabela tb_cliente, qual das alternativas abaixo apresenta um comando SQL adequado que irá inserir um novo registro na tabela?
  1. AINSERT tb_cliente (id, nome, email) INFO (1, 'Fulano', null);
  2. BINSERT INTO tb_cliente (nome, email) VALUES ('Fulano', '[email protected]');
  3. CINSERT IN tb_cliente (1, Fulano, [email protected]);
  4. DINSERT INTO tb_cliente (id, nome) INFO (1, Fulano);
  5. EINSERT tb_cliente VALUES (1, 'Fulano', null);
Revelar gabarito e comentário

GabaritoB — INSERT INTO tb_cliente (nome, email) VALUES ('Fulano', '[email protected]');

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 INSERT INTO em SQL

Gabarito: letra B. A alternativa B é a única que apresenta a sintaxe correta do comando INSERT INTO, que exige a cláusula VALUES para especificar os valores a serem inseridos, com a lista de colunas entre parênteses e os valores correspondentes na mesma ordem. As demais alternativas contêm erros de sintaxe, como a ausência da palavra INTO, o uso incorreto de INFO ou IN em vez de INTO, ou a falta da cláusula VALUES.

O comando INSERT INTO é a instrução fundamental da linguagem SQL para adicionar novos registros (linhas) a uma tabela existente. Sua sintaxe básica, conforme o padrão ANSI e adotada pela maioria dos SGBDs, incluindo o MySQL, é:

INSERT INTO nome_da_tabela (coluna1, coluna2, coluna3, ...) VALUES (valor1, valor2, valor3, ...);

A estrutura é composta por duas partes principais: a lista de colunas, que especifica em quais colunas os dados serão inseridos, e a lista de valores, que fornece os dados correspondentes. A ordem das colunas na lista deve corresponder à ordem dos valores na cláusula VALUES. É importante notar que a lista de colunas é opcional; se omitida, o comando assume que os valores serão fornecidos para todas as colunas da tabela, na ordem em que foram definidas na estrutura da tabela.

A cláusula VALUES é obrigatória e introduz a lista de valores a serem inseridos. Cada valor pode ser uma constante, uma expressão ou a palavra-chave NULL para indicar ausência de dado. Os valores devem ser separados por vírgulas e, para tipos de dados como texto, devem estar entre aspas simples. A palavra-chave NULL não precisa de aspas, pois é uma palavra reservada do SQL.

A pegadinha clássica desta questão é a troca de INTO por INFO ou IN, além da omissão da cláusula VALUES. A banca explora o candidato que decora a sintaxe sem entender a estrutura. Para acertar, basta lembrar que o comando é INSERT INTO e que a cláusula VALUES é indispensável para fornecer os dados.

  1. 1INSERT INTO
  2. 2nome da tabela
  3. 3(colunas)
  4. 4VALUES
  5. 5(valores)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa A usa INFO em vez de INTO. A palavra INFO não existe no comando SQL; o correto é INSERT INTO. Além disso, a sintaxe INSERT tb_cliente (id, nome, email) INFO (1, 'Fulano', null); está incorreta porque falta a cláusula VALUES e a palavra INTO. O comando correto seria INSERT INTO tb_cliente (id, nome, email) VALUES (1, 'Fulano', null);.

Alternativa B — ✅ Correta ⟵ GABARITO

A alternativa B apresenta a sintaxe correta: INSERT INTO tb_cliente (nome, email) VALUES ('Fulano', '[email protected]');. Ela usa INSERT INTO, especifica as colunas nome e email entre parênteses, e fornece os valores correspondentes na cláusula VALUES, com strings entre aspas simples. Este comando insere um novo registro na tabela tb_cliente com o nome 'Fulano' e o email '[email protected]'.

Alternativa C — ❌ Incorreta

A alternativa C usa INSERT IN em vez de INSERT INTO. A palavra IN não é válida nesse contexto; o correto é INTO. Além disso, a sintaxe INSERT IN tb_cliente (1, Fulano, [email protected]); está incorreta porque falta a cláusula VALUES e os valores não estão entre aspas simples para strings. O comando correto seria INSERT INTO tb_cliente (id, nome, email) VALUES (1, 'Fulano', '[email protected]');.

Alternativa D — ❌ Incorreta

A alternativa D usa INFO em vez de INTO e também omite a cláusula VALUES. A sintaxe INSERT INTO tb_cliente (id, nome) INFO (1, Fulano); está incorreta porque INFO não é uma palavra válida e falta VALUES. Além disso, o valor 'Fulano' não está entre aspas simples. O comando correto seria INSERT INTO tb_cliente (id, nome) VALUES (1, 'Fulano');.

Alternativa E — ❌ Incorreta

A alternativa E omite a cláusula VALUES e a palavra INTO. A sintaxe INSERT tb_cliente VALUES (1, 'Fulano', null); está incorreta porque falta INTO após INSERT. O correto seria INSERT INTO tb_cliente VALUES (1, 'Fulano', null);. Embora a lista de colunas seja opcional, a cláusula VALUES é obrigatória e a palavra INTO é parte essencial do comando.

Gabarito: letra B

Link permanente: /questoes/qg162081