SóProvas


ID
2355370
Banca
CONSULPLAN
Órgão
TRF - 2ª REGIÃO
Ano
2017
Provas
Disciplina
Banco de Dados
Assuntos

SQL – Structured Query Language (Linguagem de Consulta Estruturada) é uma linguagem utilizada para banco de dados relacionais, baseada e inspirada em álgebra relacional. Utiliza como subconjuntos principais DML, DDL, DCL, DTL e DQL. A respeito dos comandos SQL e considerando o MySQL 5.7 como referência, assinale a afirmativa correta.

Alternativas
Comentários
  • Alguém sabe me dizer porque a B está incorreta?

  • A letra B está incorreta porque o comando está incompleto, faltou, por exemplo, o que vai alterar(add/replace) e/ou o novo tipo do campo.

  • O gabarito é a letra D.

     

    Analisando as demais alternativas:

     

    A - O TRUNCATE não permite restauração após sua execução.

    B - Como explicado pelo Fred, faltou incluir o que será alterado, incluído, como por exemplo:

     

    ALTER TABLE nome_tabela ADD COLUMN nome_coluna1

     

    C - O primeiro parâmetro do REPLACE está com o nome da tabela, que não pode ser substituído dessa forma. O certo seria conter o nome da coluna:

     

    UPDATE nome_tabela SET nome_coluna = REPLACE (nome_coluna , 'valor_antigo' , 'novo_valor').

     

    Apesar de tudo, a letra D está esquisita porque após o final do comando, tem um texto entre parênteses com um outro comando, acompanhado da palavra errado. Eu fiz essa prova e no dia estava assim também. Na minha opinião, era mais uma questão que deveria ter sido anulada, frente aos tantos problemas que a prova apresentou. 

  • a) O TRUNCATE não gera log; portanto, não é possível restaurar os registros excluídos

     

    b) No MySQL é:

    • ALTER TABLE nome_tabela ADD COLUMN nome_coluna1 TIPO , ADD COLUMN nome_coluna2 TIPO

     

    c) O examinador misturou a função REPLACE com a cláusula REPLACE do MySQL. A sintaxe é [1]:

    • REPLACE INTO nome_tabela SET nome_coluna = 'novo_valor';

     

    d) GAB

    • A primeira SQL tá certa
    • A segunda tá errada como indicado, devido ao "banco_de_dados.tabelas_do_banco * ". Deveria ser algo do tipo: "banco_de_dados.* "

     

    [1] https://dev.mysql.com/doc/refman/8.0/en/replace.html