Sentencia PostgreSQL INSERT INTO
La sentencia PostgreSQL INSERT INTO se utiliza para insertar nuevos registros en una tabla.
Podemos insertar una fila o también insertar varias filas a la vez.
Sintaxis
El formato de sintaxis de la sentencia INSERT INTO es el siguiente:
INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);
column1, column2,...columnN son los nombres de los campos de la tabla.
value1, value2, value3,...valueN son los valores correspondientes a los campos.
Al usar la sentencia INSERT INTO, las columnas de campos deben tener la misma cantidad que los valores de datos, y el orden también debe corresponderse.
Si insertamos valores en todos los campos de la tabla, no es necesario especificar los campos, solo hay que especificar los valores a insertar:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
La siguiente tabla enumera las descripciones de los resultados devueltos después de ejecutar la inserción:
| N.º | Información de salida y descripción |
|---|---|
| 1 | INSERT oid 1 Si solo se inserta una fila y la tabla de destino tiene OID, la información devuelta indica que oid es el OID asignado a la fila insertada. |
| 2 | INSERT 0 # Información devuelta al insertar varias filas, # es el número de filas insertadas. |
Ejemplo
Crear la tabla COMPANY en la base de datos ejemplodb:
ejemplodb=# 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 );
Insertar los siguientes datos en la tabla COMPANY:
ejemplodb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13'); INSERT 0 1
La siguiente sentencia de inserción ignora el campo SALARY:
ejemplodb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13'); INSERT 0 1
La siguiente sentencia de inserción usa la cláusula DEFAULT para establecer un valor predeterminado en el campo JOIN_DATE, en lugar de especificar un valor:
ejemplodb=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT ); INSERT 0 1
El siguiente ejemplo inserta varias filas:
ejemplodb=# 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'); INSERT 0 2
Use la sentencia SELECT para consultar los datos de la tabla:
ejemplodb=# SELECT * FROM company; 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-13Otras extensiones