2.4. Inserção de linhas em tabelas

PostgreSQL 14.5: Inserção de linhas na tabela

É utilizado o comando INSERT para inserir linhas nas tabelas:

INSERT INTO clima VALUES ('São Francisco', 46, 50, 0.25, '1994-11-27');

Repare que todos os tipos de dado possuem formato de entrada de dados bastante óbvios. As constantes, que não são valores numéricos simples, geralmente devem estar entre apóstrofos ('), como no exemplo acima. O tipo date é, na verdade, muito flexível em relação aos dados que aceita, mas para este tutorial vamos nos fixar no formato sem ambigüidade mostrado acima.

O tipo point requer um par de coordenadas como entrada, como mostrado abaixo:

INSERT INTO cidades VALUES ('São Francisco', '(-194.0, 53.0)');

A sintaxe usada até agora requer que seja lembrada a ordem das colunas. Uma sintaxe alternativa permite declarar as colunas explicitamente:

INSERT INTO clima (cidade, temp_min, temp_max, prcp, data)
    VALUES ('São Francisco', 43, 57, 0.0, '1994-11-29');

Se for desejado, pode-se declarar as colunas em uma ordem diferente, ou mesmo, omitir algumas colunas. Por exemplo, se a precipitação não for conhecida:

INSERT INTO clima (data, cidade, temp_max, temp_min)
    VALUES ('1994-11-29', 'Hayward', 54, 37);

Muitos desenvolvedores consideram que declarar explicitamente as colunas é um estilo melhor que confiar na ordem implícita.

Por favor, entre todos os comando mostrados acima para ter alguns dados para trabalhar nas próximas seções.

Também pode ser utilizado o comando COPY para carregar uma grande quantidade de dados a partir de arquivos texto puro. Geralmente é mais rápido, porque o comando COPY é otimizado para esta finalidade, embora possua menos flexibilidade que o comando INSERT. Como exemplo poderíamos ter

COPY clima FROM '/home/user/clima.txt';

onde o arquivo contendo os dados deve estar disponível para a máquina servidora, e não para a estação cliente, porque o servidor lê o arquivo diretamente. Podem ser obtidas mais informações sobre o comando COPY em COPY.

SourceForge.net Logo CSS válido!