Carregando dados em uma tabela


Depois de criar sua tabela, você precisará povoá-la. As instruções LOAD DATA e INSERT são úteis para isto.

Suponha que seu registro de animais possa ser descrito como é abaixo: (Observe que o MariaDB espera datas no formato AAAA-MM-DD; isto pode ser diferente 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 dog m 1979-08-31 1995-07-29
Chirpy Gwen bird f 1998-09-11
Whistler Gwen bird 1997-12-09
Slim Benny snake m 1996-04-29

Como você está começando com uma tabela vazia, uma forma simples de povoá-la é criar um arquivo texto contendo uma linha para cada um de seus animais, e depois carregar o conteúdo do arquivo para a tabela com uma simples instrução.

Você pode criar um arquivo texto pet.txt contendo um registro por linha, com valores separado por tabulações e na mesma ordem em que as colunas foram listadas na instrução CREATE TABLE. Para valores em falta (como sexo desconhecido ou data da morte para animais que ainda estão vivos), você pode usar valores NULL. Para representá-lo em seu arquivo texto, use \N (barra invertidam N maíusculo). Por exemplo, o registro para Whistler the bird podem parecer com isto (onde o espaço em branco entre os valores é um simples caractere de tabulação):

name owner species sex birth death
Whistler Gwen bird \N 1997-12-09 \N

Para carregar o arquivo texto pet.txt na tabela pet, use este comando:

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

Você pode especificar o valor do separador de colunas e o marcador de final de linha explicitamente na instrução LOAD DATA se você desejar. Mas os valores omitidos são suficientes para a instrução ler o arquivo pet.txt corretamente.

Se a instrução falhar, é desejável que a sua instalação do MariaDB não tenha a capacidade do arquivo local habilitada por padrão. Veja "Detalhes de Segurança com LOAD DATA LOCAL" para informações sobre como alterar isto.

Quando você desejar adicionar novos registros um a um, a instrução INSERT é usada. Na sua forma mais simples, você fornece valores para cada coluna, na ordem em que as colunas foram listadas na instrução CREATE TABLE. Suponha que Diane tenha um novo hamster chamado Puffball. Você pode adicionar um registro utilizando uma instrução INSERT desta forma:

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

Perceba que os valores de string e datas são especificados aqui como strings com aspas. Com o INSERT você também pode inserir NULL diretamente para representar um valor em falta. Não pode ser usado \N como você fez com LOAD DATA.

A partir deste exemplo, você deverá perceber que existem várias outras formas envolvidas para carregar seus registros inicialmente utilizando diversas instruções INSERT do que uma simples instrução LOAD DATA.

Retornar