mysql_logo

Capitalizar primera letra de una celda en MySQL

En algunas ocasiones por el motivo que sea, si trabajamos con bases de datos podemos encontrarnos con palabras que deberían tener la primera letra en mayúscula y sin embargo está todo el texto escrito en mayúsculas o minúsculas. Vamos a ver como capitalizar la primera letra con una consulta MySQL.

Es tan simple como ejecutar una consulta, pero si no estás seguro puede que prefieras primero probarlo en una tabla con pocas celdas (si tienes muchas puede que le cueste un poco) y sobretodo haz una copia de seguridad por lo que pudiera pasar.

Poner la primera letra de  una columna en mayúsculas con MySQL

Tener también presente que con esto vamos a modificar todos los registros de una columna, es decir que si por ejemplo nuestra base de datos es de libros, y tenemos un campo que se llama título, modificaremos todas las celdas título de todos los libros.

UPDATE tabla_libros
SET `titulo` = CONCAT(UCASE(LEFT(`titulo`, 1)), 
                             LCASE(SUBSTRING(`titulo`, 2)));

Con esta consulta le estamos diciendo lo siguiente:

  • Actualiza la tabla_libros (tu pondrás el nombre de tu tabla).
  • Cogemos la celda título y extraemos la primera letra de la celda y la convertimos en mayúsculas
  • Cogemos la celda título y extraemos a partir de la segunda letra, y lo convertimos en minúsculas
  • La parte CONCAT sirve para unir la primera letra que hemos hecho mayúscula con el resto de las letras que hemos convertido a minúsculas

Si por el contrario queremos actualizar únicamente una celda en concreto, tendremos que añadir la cláusula where y decirle la condición, por ejemplo vamos a actualizar el libro o libros que sea de la categoría terror (también podemos usar la id o cualquier otro campo)

UPDATE tabla_libros
SET `titulo` = CONCAT(UCASE(LEFT(`titulo`, 1)), 
                             LCASE(SUBSTRING(`titulo`, 2)))
WHERE `categoria` = 'Terror';

De esta forma actualizaremos solo los que coincidan con la categoría terror. Si queremos añadir más condiciones solo tenemos que hacerlo de forma normal «WHERE `categoria` = ‘Terror’ AND `autor` = ‘Stephen King’;»


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.