Funciones Avanzadas de PostgreSQL para Optimización de Aplicaciones
Clase 19 de 32 • Curso de PostgreSQL
Resumen
¿Cuáles son las funciones especiales de PostgreSQL?
PostgreSQL es conocido por su robustez y flexibilidad, y una de sus características distintivas son sus funciones especiales. Estas funciones están diseñadas para facilitar el desarrollo y administración eficaces de tus aplicaciones. Aquí te explicaremos algunas de las funciones especiales más útiles: ON CONFLICT
, RETURNING
, LIKE
, ILIKE
, e IS/IS NOT
.
¿Cómo funcionan ON CONFLICT
y DO NOTHING/DO UPDATE
?
Las operaciones de inserción pueden ser más complejas cuando ya existe un dato con la clave primaria o única que intentas insertar. El comando ON CONFLICT
te permite manejar estos escenarios:
-
DO NOTHING: No realiza ningún cambio si ya existe un conflicto.
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON CONFLICT (column) DO NOTHING;
-
DO UPDATE: Permite realizar una actualización de los datos existentes si hay un conflicto.
INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON CONFLICT (column) DO UPDATE SET column1 = value1, column2 = value2;
¿Qué hace la función RETURNING
?
La función RETURNING
es especialmente útil cuando queremos obtener resultados inmediatamente después de una inserción. Esto es beneficioso para confirmar los datos ingresados o para recoger identificadores generados automáticamente, como en campos tipo serial.
-
Ejemplo de uso:
INSERT INTO table_name (column1, column2) VALUES (value1, value2) RETURNING *;
Esta instrucción devolverá todas las filas que se han insertado.
¿Cómo usar las condiciones LIKE
y ILIKE
?
Las funciones LIKE
e ILIKE
permiten realizar búsquedas en cadenas utilizando patrones, similares a expresiones regulares.
-
LIKE: distingue mayúsculas de minúsculas.
SELECT * FROM passengers WHERE name LIKE 'A%';
-
ILIKE: es insensible a mayúsculas/minúsculas.
SELECT * FROM passengers WHERE name ILIKE 'a%';
Ambas funciones permiten búsquedas detalladas usando:
%
: para representar cualquier cadena de caracteres._
: para representar cualquier carácter individual.
¿Cuándo utilizamos IS NULL
o IS NOT NULL
?
Las comparaciones con NULL
no se realizan como las de tipo numérico o alfanumérico, debido a que NULL
no es un tipo de dato estándar. Las funciones IS NULL
y IS NOT NULL
son esenciales para verificar si un campo en particular tiene un valor.
-
Para verificar
NULL
:SELECT * FROM trains WHERE model IS NULL;
-
Para verificar no
NULL
:SELECT * FROM trains WHERE model IS NOT NULL;
Estas expresiones son de gran ayuda si necesitas comprobar la presencia o ausencia de datos en columnas.
El optimizar tus consultas SQL no solo mejora la eficiencia sino también la consistencia de los datos procesados. Invierte tiempo en aprender y experimentar estas funciones, ya que enriquecerán tu habilidad en la gestión de bases de datos PostgreSQL. ¡Sigue adelante y no dejes de buscar más conocimiento para perfeccionar tu manejo de este poderoso sistema!