2.4. Llenar una tabla con filas #

La sentencia INSERT se utiliza para llenar una tabla con filas:

INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');

Ten en cuenta que todos los tipos de datos utilizan formatos de entrada bastante obvios. Las constantes que no son valores numéricos simples por lo general deben estar rodeadas por comillas simples ('), como en el ejemplo. El tipo date es en realidad bastante flexible en lo que acepta, pero para este tutorial nos limitaremos al formato inequívoco que se muestra aquí.

El tipo point requiere un par de coordenadas como entrada, como se muestra aquí:

INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');

La sintaxis utilizada hasta ahora requiere que recuerdes el orden de las columnas. Una sintaxis alternativa te permite listar las columnas de forma explícita:

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
    VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');

Puedes listar las columnas en un orden diferente si lo deseas o incluso omitir algunas columnas, por ejemplo, si la precipitación es desconocida:

INSERT INTO weather (date, city, temp_hi, temp_lo)
    VALUES ('1994-11-29', 'Hayward', 54, 37);

Muchos desarrolladores consideran que listar las columnas explícitamente es un mejor estilo que confiar en el orden de forma implícita.

Introduce todos los comandos mostrados anteriormente para que tengas algunos datos con los que trabajar en las siguientes secciones.

También podrías haber utilizado COPY para cargar grandes cantidades de datos desde archivos de texto plano. Esto suele ser más rápido porque el comando COPY está optimizado para esta aplicación, aunque permite menos flexibilidad que INSERT. Un ejemplo sería:

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

donde el nombre del archivo de origen debe estar disponible en la máquina que ejecuta el proceso del servidor (backend), no en el cliente, ya que el proceso del servidor lee el archivo directamente. Los datos insertados anteriormente en la tabla weather también podrían insertarse desde un archivo que contenga lo siguiente (los valores están separados por un carácter de tabulación):

San Francisco    46    50    0.25    1994-11-27
San Francisco    43    57    0.0    1994-11-29
Hayward    37    54    \\N    1994-11-29

Puedes leer más sobre el comando COPY en COPY.