MySQL:: MySQL 5.7 manual de referência:: 3.3.3 carregar dados numa tabela

3.3.3 carregar dados numa tabela

Depois de criar a sua tabela, terá de a povoar. As declaraçõesLOAD DATA

e INSERT são úteis para isso.

suponha que seus registros pet podem ser descritos como mostrado aqui. (Observe que MySQL espera datas no formato'YYYY-MM-DD' ; isso pode diferir do que você está acostumado.)

name owner species sex birth death
Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Buffy Harold dog f 1989-05-13
Fang Benny dog m 1990-08-27
Bowser Diane cão m 1979-08-31 1995-07-29
Alegre Gwen aves f 1998-09-11
Whistler Gwen aves 1997-12-09
Slim Benny cobra m 1996-04-29

como você está começando com uma tabela vazia, uma forma fácil para preenchê-la é criar um arquivo texto contendo uma linha para cada um de seus animais, em seguida, carregar o conteúdo do arquivo na tabela com uma única declaração.

Você pode criar um arquivo de texto pet.txt contendo um registro por linha, com valores separados por tabulações e na ordem em que as colunas foram listadas na CREATE TABLE instrução. Para valores em falta (tais como sexo desconhecido ou datas de morte para animais que ainda estão vivos), você pode usar valores NULL. Para representá-los em seu arquivo de texto, use \N (backslash, capital-N). Por exemplo, o registro para Whistler o pássaro teria esta aparência (onde o espaço em branco entre os valores é um único caractere de tabulação):

Whistler Gwen bird \N 1997-12-09 \N

Para carregar o arquivo texto pet.txt o pet tabela, use esta instrução:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;

Se você criou o arquivo no Windows com um editor que usa \r\n como um terminador de linha, você deve utilizar esta instrução:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINATED BY '\r\n';

(Em um Apple máquina executando macOS, provavelmente você vai querer usar LINES TERMINATED BY '\r'.)

pode indicar o separador do valor da coluna e o marcador de fim de linha explicitamente na declaraçãoLOAD DATA se o desejar, mas os valores por omissão são o tab e o linefeed. Estes são suficientes para que a declaração leia o ficheiro pet.txt adequadamente.

Se a declaração falhar, é provável que a sua instalação MySQL não tenha capacidade de ficheiro local activada por omissão. Ver secção 6.1.6, “considerações de segurança para dados de carga locais”, para informações sobre como alterar esta situação.

Quando você quer adicionar novos registros um de cada vez, a declaração INSERT é útil. Em sua forma mais simples, você fornece valores para cada coluna, na ordem em que as colunas foram listadas na declaração CREATE TABLE. Supõe que a Diane recebe um novo hamster chamado “Puffball”.”Você poderia adicionar um novo registro usando umINSERT declaração como esta:

mysql> INSERT INTO pet VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

String e os valores de data são indicados como strings citadas aqui. Além disso, com INSERT, você pode inserir diretamente para representar um valor em falta. Você não usa \N como você faz com LOAD DATA.

a Partir deste exemplo, você deve ser capaz de ver que haveria muito mais a escrever envolvidos para carregar seus registros inicialmente usando vários INSERT declarações em vez de uma única LOAD DATA instrução.