Vamos aprender como insertar registros en una tabla con INSERT INTO en PostgreSQL de una forma sencilla analizando su sintaxis y con varios ejemplos.
Sintaxis
La sintaxis básica para insertar registros en PostgreSQL es la siguiente:
INSERT INTO nombreTabla(columna_1, columna_2, …)
VALUES (valor_1, valor_2, …)
[RETURNING *];
Lenguaje del código: CSS (css)
En la anterior sintaxis:
- Primero escribimos las palabras INSERT INTO seguido del nombre de la tabla y despues entre paréntesis cada uno de los campos donde vamos a insertar (si se va insertar valores en todas las columnas no es necesario mencionar cada columna)
- En segundo lugar escribimos la palabra VALUES seguido de los valores a insertar entre paréntesis y separados por comas.
- En tercer lugar y opcionalmente, puedes visualizar los registros que se han insertado escribiendo al final la palabra RETURNING * o la palabra RETURNING seguido de los campos a mostrar.
Ejemplo
Insertar un registro
En el siguiente ejemplo vamos a insertar datos en la tabla de empleados mencionando los campos. Es importante tener en cuenta que podríamos obviar mencionar los campos ya que vamos a insertar en todos los campos en el mismo orden:
INSERT INTO empleados (id_empleado, id_departamento, nombre,
puesto, sueldo)
VALUES (1,1,'Miguel Troyano','Consultor', 60000);
Lenguaje del código: JavaScript (javascript)
Insertar un registro pero mostrando lo insertado
En el siguiente ejemplo vamos a insertar datos como en el ejemplo anterior, pero en esta ocasión nos mostrara los datos que ha insertado al finalizar:
INSERT INTO empleados (id_empleado, id_departamento, nombre,
puesto, sueldo)
VALUES (2,1,'Ismael Troyano','Consultor', 60000)
RETURNING *;
Lenguaje del código: JavaScript (javascript)
Insertar varios registros
Si quieres insertar varios registros no es necesario que escribas INSERT INTO varias veces. Observa este ejemplo:
INSERT INTO empleados (id_empleado, id_departamento, nombre,
puesto, sueldo)
VALUES (3,1,'Jose Troyano','Director', 80000),
(4,1,'Pilar Troyano','Directora', 80000)
RETURNING *;
Lenguaje del código: JavaScript (javascript)
Ejemplo completo
Copia y pega el siguiente código en tu consola de PostgreSQL y realiza paso a paso leyendo los comentarios:
-- Creamos la tabla empleados
CREATE TABLE IF NOT EXISTS public.empleados
(
id_empleado numeric(2,0),
id_departamento numeric(2,0),
nombre character varying(50),
puesto character varying(50),
sueldo integer
);
-- Insertamos un registro
INSERT INTO empleados (id_empleado, id_departamento, nombre,
puesto, sueldo)
VALUES (1,1,'Miguel Troyano','Consultor', 60000);
-- Mostramos los datos de la tabla
SELECT * from empleados;
-- Insertamos otro registro pero mostrando lo insertado al final
INSERT INTO empleados (id_empleado, id_departamento, nombre,
puesto, sueldo)
VALUES (2,1,'Ismael Troyano','Consultor', 60000)
RETURNING *;
-- Insertamos varios registros a la vez
INSERT INTO empleados (id_empleado, id_departamento, nombre,
puesto, sueldo)
VALUES (3,1,'Jose Troyano','Director', 80000),
(4,1,'Pilar Troyano','Directora', 80000)
RETURNING *;
Lenguaje del código: PHP (php)