O snippet principal acima mostra as instruções genéricas de dados de carregamento. Todas as opções disponíveis são mencionadas no código acima.

Vamos agora nos concentrar em um exemplo simples de simplesmente ler um arquivo .csv e inserir suas linhas em uma tabela compatível.

Um exemplo simples:

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

Um exemplo panorâmico com todas as opções essenciais:

Nem é preciso dizer que seu arquivo CSV deve estar formatado corretamente para que esta instrução funcione?.

E pronto, usando a instrução acima, seu .csv com mais de 100 mil linhas será importado para sua tabela em segundos.

Agora, algumas coisas importantes a serem observadas:

A instrução acima é executada no nível MySql, portanto, os arquivos de origem são copiados do cliente para o servidor para importá-los.
Isso levanta alguns problemas de segurança, precisamos ter certeza de que a conexão cliente-servidor está segura ao usar este código.

No MySql 8.0, a capacidade de usar LOCAL é definida como False por padrão. Como seu servidor e cliente devem ser configurados para ter permissão LOCAL, alguns de vocês podem receber um erro de permissão.

Em caso de erro de permissão, precisamos substituí-lo habilitando o local_infile:

SET GLOBAL local_infile = true;

Nota: Substituir este sinalizador não é uma solução de segurança, mas sim um reconhecimento por aceitar os riscos. Você pode consultar esta documentação para obter mais informações.

?‍? Conclusão

A instrução MySql LOAD DATA é usada para ler arquivos em muito menos tempo.
Você pode usar este código com qualquer API de back-end para fornecer o arquivo de origem.
O arquivo de origem pode ser qualquer arquivo de texto, usamos .csv neste exemplo.

LOAD DATA LOCAL copia o arquivo fonte para o seu servidor via MySql, portanto, medidas de segurança no lado do servidor devem ser implementadas.

O utilitário

mysqlimport usa a instrução LOAD DATA internamente.

Você pode ignorar os cabeçalhos em CSV adicionando IGNORE 1 LINES na instrução.

\\\"How

? Referência

Documentos oficiais

","image":"http://www.luping.net/uploads/20241001/172776132566fb8baddd92a.gif","datePublished":"2024-11-08T04:52:05+08:00","dateModified":"2024-11-08T04:52:05+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como fazer upload em massa de dados de arquivos CSV para uma tabela MySql? Uma maneira muito rápida usando LOAD DATA.

Como fazer upload em massa de dados de arquivos CSV para uma tabela MySql? Uma maneira muito rápida usando LOAD DATA.

Publicado em 2024-11-08
Navegar:242

? Introdução

Você ainda está usando loops "for" ou "while" para iterar suas linhas e inseri-las em seu banco de dados? Você ainda escreve código separado para ler o arquivo .csv e enviá-lo para seu banco de dados MySQL?

Diga "NÃO" à lógica linear com a instrução "LOAD DATA" fornecida pelo MySQL. Prepare-se para alterar seu código para minimizar as linhas e aumentar drasticamente o desempenho.

MySql fornece a instrução LOAD DATA, que é uma maneira muito rápida de ler os dados de arquivos de texto e inseri-los na tabela com o mínimo de código.

? O que é a instrução LOAD DATA INFILE?

De acordo com os documentos oficiais do MySQL, a instrução LOAD DATA é usada para ler dados do arquivo de uma maneira muito rápida e você pode inserir esses dados em sua tabela com uma única consulta, em vez de acessar seu banco de dados várias vezes com a consulta "INSERT INTO".

O MySQL também fornece uma instrução -> "SELECT…INTO OUTFILE", que faz exatamente o oposto do que "LOAD DATA" faz, que é ler os dados da tabela para o arquivo.

O utilitário

mysqlimport fornecido pelo MySql chama internamente a instrução LOAD DATA no servidor para importar os dados.

? Como usá-lo?

O snippet principal acima mostra as instruções genéricas de dados de carregamento. Todas as opções disponíveis são mencionadas no código acima.

Vamos agora nos concentrar em um exemplo simples de simplesmente ler um arquivo .csv e inserir suas linhas em uma tabela compatível.

Um exemplo simples:

LOAD DATA INFILE ‘data.csv’ INTO TABLE db.my_table

Um exemplo panorâmico com todas as opções essenciais:

Nem é preciso dizer que seu arquivo CSV deve estar formatado corretamente para que esta instrução funcione?.

E pronto, usando a instrução acima, seu .csv com mais de 100 mil linhas será importado para sua tabela em segundos.

Agora, algumas coisas importantes a serem observadas:

A instrução acima é executada no nível MySql, portanto, os arquivos de origem são copiados do cliente para o servidor para importá-los.
Isso levanta alguns problemas de segurança, precisamos ter certeza de que a conexão cliente-servidor está segura ao usar este código.

No MySql 8.0, a capacidade de usar LOCAL é definida como False por padrão. Como seu servidor e cliente devem ser configurados para ter permissão LOCAL, alguns de vocês podem receber um erro de permissão.

Em caso de erro de permissão, precisamos substituí-lo habilitando o local_infile:

SET GLOBAL local_infile = true;

Nota: Substituir este sinalizador não é uma solução de segurança, mas sim um reconhecimento por aceitar os riscos. Você pode consultar esta documentação para obter mais informações.

?‍? Conclusão

A instrução MySql LOAD DATA é usada para ler arquivos em muito menos tempo.
Você pode usar este código com qualquer API de back-end para fornecer o arquivo de origem.
O arquivo de origem pode ser qualquer arquivo de texto, usamos .csv neste exemplo.

LOAD DATA LOCAL copia o arquivo fonte para o seu servidor via MySql, portanto, medidas de segurança no lado do servidor devem ser implementadas.

O utilitário

mysqlimport usa a instrução LOAD DATA internamente.

Você pode ignorar os cabeçalhos em CSV adicionando IGNORE 1 LINES na instrução.

How to Bulk Upload CSV file data into MySql Table? A very fast way using LOAD DATA.

? Referência

Documentos oficiais

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/elpidaguy/how-to-bulk-upload-csv-file-data-into-mysql-table-a-very-fast-way-using-load-data- c44? 1Se houver alguma violação, entre em contato com [email protected] para excluí-la.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3