← Questões de Banco de Dados

Banco de Dados · FGV · 2023

Questão comentada de Banco de Dados

João é um administrador de banco de dados MySQL e precisa criar uma rotina de carga de dados para ler os dados do arquivo "dados.csv" e inserir na tabela “tabela_dados”. Para tal, João deverá utilizar o comando:

Gabarito: E

No MySQL, quando voce quer ler dados de um arquivo texto como CSV e jogar direto dentro de uma tabela, o comando classico e o `LOAD DATA INFILE`. Ele e feito exatamente para carga em massa, muito mais adequado do que ficar tentando fazer `INSERT` linha por linha. Pense nele como o "caminhao de mudanca" do banco: ele leva o arquivo inteiro para dentro da tabela de uma vez. A estrutura basica usa o nome do arquivo, a tabela de destino e, se necessario, a forma como os dados estao separados. Em CSV, e comum indicar `FIELDS TERMINATED BY ','` para dizer que as colunas sao separadas por virgula, e `LINES TERMINATED BY '\n'` para marcar o fim de cada linha. Quando o arquivo tem cabecalho, o comando pode ignorar a primeira linha com `IGNORE 1 LINES`. A alternativa E esta correta porque reproduz essa sintaxe de forma coerente com o MySQL: `load data infile 'dados.csv' into table tabela_dados fields terminated by ',' lines terminated by '\n' ignore 1 lines (id, nome);`. A ideia central esta certa: carregar dados de um arquivo externo para dentro da tabela, especificando separadores e ignorando o cabecalho. Em provas da FGV, isso costuma aparecer como teste de sintaxe do MySQL, e aqui o comando correto e justamente o de importacao em massa. As demais alternativas tentam imitar o comando, mas usam verbos ou ordem que nao pertencem ao MySQL. Na pratica, para esse tipo de questao, vale memorizar a expressao `LOAD DATA INFILE ... INTO TABLE ...`, porque ela e a cara do import de arquivo no MySQL.

Continue treinando

Questões relacionadas