La sentencia `INSERT` en PostgreSQL se utiliza para añadir nuevas filas de datos en una tabla especificada. Es una operación fundamental para poblar y actualizar las bases de datos con nueva información.
Utilización
La sintaxis básica de la sentencia `INSERT` se utiliza cuando necesitas añadir nuevos registros a una tabla. Especifica el nombre de la tabla, las columnas en las que insertar los datos y los valores correspondientes.
sql
INSERTINTOtable_name(column1, column2,...)VALUES(value1, value2,...);Con la tecnología de
En esta sintaxis, `nombre_tabla` es la tabla de destino, `columna1, columna2, ...` son las columnas que recibirán los datos, y `valor1, valor2, ...` son los valores reales de los datos que se insertarán.
Este ejemplo inserta una única fila en la tabla "empleados" con los valores "nombre", "apellido" y "correo electrónico".
2. Insertar varias filas
sql
INSERTINTOproducts(product_name, price)VALUES('Product A',10.99),('Product B',15.49);Con la tecnología de
Aquí se insertan dos filas en la tabla `productos` en una sola sentencia, cada una con un `nombre_producto` y un `precio`.
3. Insertar con subconsulta
sql
INSERTINTOsales(product_id, quantity)SELECT product_id,5FROM products
WHERE product_name ='Product C';Con la tecnología de
Este ejemplo inserta datos en la tabla `ventas` seleccionando `id_producto` de la tabla `productos` donde el `nombre_producto` es `Producto C`, estableciendo la `cantidad` en 5.
4. Manejar duplicados con ON CONFLICTO
sql
INSERTINTOusers(username, email)VALUES('jane_doe','[email protected]')ONCONFLICT(username)DOUPDATESET email =EXCLUDED.email;Con la tecnología de
Este ejemplo muestra cómo tratar posibles duplicados actualizando el "correo electrónico" si el "nombre de usuario" ya existe en la tabla "usuarios".
5. Uso de la cláusula RETURNING
sql
INSERTINTOorders(customer_id, order_date)VALUES(123,'2023-10-11')RETURNING order_id;Con la tecnología de
La cláusula `RETURNING` se utiliza para devolver el `order_id` de la fila recién insertada, lo que resulta especialmente útil con campos de autoincremento.
Consejos y buenas prácticas
Especifica las columnas explícitamente. Enumera siempre las columnas en una sentencia `INSERT` para garantizar la claridad y mantener la compatibilidad si cambia la estructura de la tabla.
Valida los tipos de datos. Asegúrate de que los valores que se insertan coinciden con los tipos de datos de las columnas.
Utiliza transacciones para inserciones masivas. Envuelve varias operaciones `INSERT` en una transacción para garantizar la atomicidad y mejorar el rendimiento. Por ejemplo:
sql
BEGIN;INSERTINTOproducts(product_name, price)VALUES('Product C',12.99);INSERTINTOproducts(product_name, price)VALUES('Product D',18.49);COMMIT;Con la tecnología de
Gestiona los duplicados. Utiliza `ON CONFLICT` para tratar posibles conflictos de claves, no `INSERT ... ON DUPLICATE KEY UPDATE`, que es la sintaxis de MySQL.
Aprovecha sabiamente las subconsultas. Utiliza subconsultas para insertar datos dinámicamente desde otras tablas para mantener la integridad y coherencia de los datos.
La sentencia `INSERT` en PostgreSQL se utiliza para añadir nuevas filas de datos en una tabla especificada. Es una operación fundamental para poblar y actualizar las bases de datos con nueva información.
Utilización
La sintaxis básica de la sentencia `INSERT` se utiliza cuando necesitas añadir nuevos registros a una tabla. Especifica el nombre de la tabla, las columnas en las que insertar los datos y los valores correspondientes.
En esta sintaxis, `nombre_tabla` es la tabla de destino, `columna1, columna2, ...` son las columnas que recibirán los datos, y `valor1, valor2, ...` son los valores reales de los datos que se insertarán.
Ejemplos
1. Inserción básica
Este ejemplo inserta una única fila en la tabla "empleados" con los valores "nombre", "apellido" y "correo electrónico".
2. Insertar varias filas
Aquí se insertan dos filas en la tabla `productos` en una sola sentencia, cada una con un `nombre_producto` y un `precio`.
3. Insertar con subconsulta
Este ejemplo inserta datos en la tabla `ventas` seleccionando `id_producto` de la tabla `productos` donde el `nombre_producto` es `Producto C`, estableciendo la `cantidad` en 5.
4. Manejar duplicados con ON CONFLICTO
Este ejemplo muestra cómo tratar posibles duplicados actualizando el "correo electrónico" si el "nombre de usuario" ya existe en la tabla "usuarios".
5. Uso de la cláusula RETURNING
La cláusula `RETURNING` se utiliza para devolver el `order_id` de la fila recién insertada, lo que resulta especialmente útil con campos de autoincremento.
Consejos y buenas prácticas