Bases de Datos

Precaución para no Borrar todos los registros de una tabla por error. No usar «where campo in ()»

Los accidentes suelen ocurrir, pero para un DBA, que se te borren todos los campos de una tabla de 1 millón de registros cuando querías borrar solo 100 mil, es un accidente que no se puede dar el lujo de cometer.

No se si en otros DBMS sucede esto, pero en Postgres 8.1 no veo la razón por la que sucede, pero de cualquier forma, aquí les dejo el tip para que no les pase.

Diferencia entre GROUP BY y DISTINCT, ¿Cuál es más rápido?

Muchas veces nos topamos con la tarea de saber cuales valores de cierta columna(s) son distintos de un conjunto de registros.

Normalmente lo hacemos con la clausula distinct, pues nos ahorra un par de palabras a la hora de escribir el query. Pero el mismo resultado obtenemos si lo hacemos de la siguiente forma:

Entonces, ¿cuál es la diferencia? La diferencia es que con una cantidad considerable de registros….

Cambiar de codificación (encoding) un archivo de texto (UTF-8, Latin1, UTF-16, etc.)

Algo muy común en Bases de Datos es importar datos de una a otra, por ejemplo de MySQL a postgres, SQL Server a Oracle, etc. El proceso más simple a mi forma de ver es exportar todo a archivos de texto y luego importarlo de nuevo.
A veces nos topamos con el pequeño problema de que el econding del archivo esta por ejemplo en Latin1 y nuestra base de datos tiene otro encoding (UTF-8 por ejemplo).
He aquí el comando de linux que nos simplifica la tarea.

Creando Funciones agregadas en PostgreSQL

Cuando usamos GROUP BY en un query usualmente usamos también funciones de agrupamiento o funciones agregadas, tales como count(), avg(), sum(), pero a veces se quedan cortas estas operaciones y para eso podemos crear nuestras propias funciones agregadas, para concatenar, obtener suma de cuadrados, etc.

Convertir la primera letra de cada palabra a mayúscula en PostgreSQL (Capitalizar)

Capitalizar es un anglicismo que proviene del verbo Capitalize, y que en inglés significa pasar a mayúsculas una palabra o pasar a mayúscula la primera letra de una palabra dejando el resto en minúsculas. Y es a esto último lo que se me refiero. En PostgreSQL existen varias funciones para manejo de strings de uso …

Convertir la primera letra de cada palabra a mayúscula en PostgreSQL (Capitalizar) Leer más »

Query usando un arreglo en un «WHERE id IN ()»

Muy a menudo hacemos queries usando select…where id in (…), por ejemplo:
SELECT id,nombre FROM ejemplo_select_in WHERE edad IN (20,25,50);
Esto es distinto cuando lo queremos hacer en un Store Procedure (SP), y queremos usar un arreglo como parametro, ya que no usamos la clausula IN, veamos como hacerlo.