MySQLLOAD DATA INFILE

Syntax

usando LOAD DATA INFILE para carregar grande quantidade de dados para a base de dados

Consulte o seguinte exemplo assumindo que tem um ‘;’-cV limitado para carregar na sua base de dados.

1;max;male;manager;12-7-19852;jack;male;executive;21-8-1990...1000000;marta;female;accountant;15-6-1992

Criar a tabela para inserção.

Utilize a seguinte consulta para inserir os valores nessa tabela.

considere o caso em que o formato da data não é padrão.

1;max;male;manager;17-Jan-19852;jack;male;executive;01-Feb-1992...1000000;marta;female;accountant;25-Apr-1993

Neste caso pode alterar o formato da coluna dob antes de inserir desta forma.

Este exemplo de LOAD DATA INFILE não especifica todas as características disponíveis.

P>Pode ver mais referências em LOAD DATA INFILE aqui.

Importar um ficheiro CSV para uma tabela MySQL

O comando seguinte importa ficheiros CSV para uma tabela MySQL com as mesmas colunas, respeitando as regras de citação e escape CSV.

Carregar dados com duplicados

Se utilizar o comando LOAD DATA INFILE para preencher uma tabela com dados existentes, verificará frequentemente que a importação falha devido a duplicados. Há várias maneiras possíveis de ultrapassar este problema.

Se esta opção tiver sido activada no seu servidor, pode ser usada para carregar um ficheiro que existe no computador cliente e não no servidor. Um efeito secundário é que as filas duplicadas para valores únicos são ignoradas.

LOAD DATA LOCAL INFILE 'path of the file/file_name.txt' INTO TABLE employee

LOAD DATA INFILE ‘fname’ REPLACE

Quando a palavra-chave de substituição for utilizada, as chaves duplicadas únicas ou primárias resultarão na linha existente a ser substituída por novas

LOAD DATA INFILE 'path of the file/file_name.txt' REPLACE INTO TABLE employee

LOAD DATA INFILE ‘fname’ IGNORE

O oposto de REPLACE, As linhas existentes serão preservadas e as novas linhas ignoradas. Este comportamento é semelhante a LOCAL descrito acima. Contudo, o ficheiro não precisa de existir no computador cliente.

LOAD DATA INFILE 'path of the file/file_name.txt' IGNORE INTO TABLE employee

Load via tabela intermediária

Por vezes ignorar ou substituir todas as duplicações pode não ser a opção ideal. Pode ser necessário tomar decisões com base no conteúdo de outras colunas. Nesse caso, a melhor opção é carregar para uma tabela intermediária e transferir de lá.

INSERT INTO employee SELECT * FROM intermediary WHERE ...

importar / exportar

importar

SELECT a,b,c INTO OUTFILE 'result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table;

Exportar

LOAD DATA INFILE 'result.txt' INTO TABLE table;

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *