PostgreSQL - INSERTAR consulta

El PostgreSQL INSERT INTOinstrucción permite insertar nuevas filas en una tabla. Se puede insertar una sola fila a la vez o varias filas como resultado de una consulta.

Sintaxis

La sintaxis básica de la instrucción INSERT INTO es la siguiente:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
  • Aquí, column1, column2, ... columnN son los nombres de las columnas de la tabla en la que desea insertar datos.

  • Los nombres de las columnas de destino se pueden enumerar en cualquier orden. Los valores proporcionados por la cláusula o consulta VALUES están asociados con la lista de columnas explícita o implícita de izquierda a derecha.

Es posible que no necesite especificar el nombre de la (s) columna (s) en la consulta SQL si está agregando valores para todas las columnas de la tabla. Sin embargo, asegúrese de que el orden de los valores esté en el mismo orden que las columnas de la tabla. La sintaxis SQL INSERT INTO sería la siguiente:

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

Salida

La siguiente tabla resume los mensajes de salida y su significado:

S. No. Mensaje de salida y descripción
1

INSERT oid 1

Mensaje devuelto si solo se insertó una fila. oid es el OID numérico de la fila insertada.

2

INSERT 0 #

Mensaje devuelto si se insertaron más de una fila. # es el número de filas insertadas.

Ejemplos

Creemos la tabla EMPRESA en testdb como sigue -

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL,
   JOIN_DATE	  DATE
);

El siguiente ejemplo inserta una fila en la tabla EMPRESA:

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');

El siguiente ejemplo es insertar una fila; aquí se omite la columna de salario y, por lo tanto, tendrá el valor predeterminado -

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');

El siguiente ejemplo utiliza la cláusula DEFAULT para la columna JOIN_DATE en lugar de especificar un valor:

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );

El siguiente ejemplo inserta varias filas utilizando la sintaxis de VALORES de varias filas:

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');

Todas las declaraciones anteriores crearían los siguientes registros en la tabla EMPRESA. El siguiente capítulo le enseñará cómo mostrar todos estos registros desde una tabla.

ID        NAME        AGE        ADDRESS     SALARY	  JOIN_DATE
----      ----------  -----      ----------  -------      --------
1         Paul        32         California  20000.0      2001-07-13
2         Allen       25         Texas                    2007-12-13
3         Teddy       23         Norway      20000.0
4         Mark        25         Rich-Mond   65000.0      2007-12-13
5         David       27         Texas       85000.0      2007-12-13