MySQL
El sistema de gestion de base de datos relacionales mas utilizado en el mundo, es software libre pero la mayor marte de su codigo está licenciado antes por Sun microsystems y desde el 2009 por Oracle.
Cambiar la paginación de tablas en phpMyAdmin
Al instalar phpMyAdmin en una versión 4 o superior, hay algo que no me gusta nada y que hace que el programa se vuelva inútil y difícil de manejar: el límite de tablas a mostrar de una base de datos es 50 !!!! Eso es poquísimo: un PrestaShop por defecto tiene unas 250 (no hablemos de Magento, Brrrr), hasta osCommerce tiene 50 tablas. Entiendo que va bien para WordPress...
UPDATE from table: recuperar backup de datos MySQL
Antes de hacer algún UPDATE general en una tabla que modificará todo su contenido, es importante hacer un backup de esta en otra tabla. phpMyAdmin permite hacerlo muy fácilmente con Operaciones > copiar la tabla a (con estructura y datos).
Una vez hecho el cambio, si queremos restaurar el backup
MySQL - SQL standard
UPDATE tabla1 t1, tabla_backup b
SET t1.campo1=b.campo1
WHERE t1.id=b.id
Simple y sencillo: tendremos de vuelta nuestros datos.
Cómo utilizar la función LAST() y FIRST() en MySQL
Lo primero que hay que decir es que estas funciones, presentes en SQL estándar, no están presentes en MySQL, pero podemos conseguir el mismo efecto con una pequeña trampa.
Expresiones regulares con MySQL
Existe la posibilidad de hacer búsquedas en MySQL a través de expresiones regulares; para ello utilizaremos REGEXP.
Esta sería la sintaxis:
SELECT * FROM tabla WHERE (SELECT campo REGEXP '^[a-f\.]{7,9}' )=1
Esta query nos devuelve el resultado de todos los registros en los que campo contenga en su inicio entre 7 y 9 letras de las comprendidas entre la a y la f.
Pero hay que tener mucho cuidado al hacer
MySQL: LIKE con campos integer
Acabamos de probarlo, simplemente increíble, no es nada del otro mundo, pero...
Resulta que se puede hacer un LIKE en MySQL de un campo integer.
La query:
SELECT * FROM tabla WHERE id LIKE '3%'
Devuelve todos los resultados cuyo identificador de campo empiece por 3.
Almacenar imágenes en MySQL
Cómo almacenar imágenes en una base de datos es una pregunta que me hizo el amigo Nico hace unos días, y respondo en forma de post: sí, es posible, y dependiendo de la situación puede ser ventajoso (desde luego, no desde el punto de vista del rendimiento).
Realmente el proceso es bien sencillo: abrimos el archivo almacenándolo en una variable, que contiene datos indescifrables (puedes probar a abrir una imagen con un editor de textos); a continuación cambiamos la codificación de esta variable a
IF en consultas MySQL
¿Cuánto tiempo ahorraríamos (tiempo de proceso y de programación) si la información ya nos llegara procesada de MySQL (o cualquier sistema gestor de bases de datos, pero MySQL mola más)? La respuesta es: ¡¡MUCHÍSIMO!!
Bien, pues una buena manera de hacer esto es utilizar el sistema gestor de base de datos como algo más que un simple cajón en donde meter cosas y después reclamarlas.
¿Cómo hacemos esto?
Supongamos que queremos agrupar en una tabla a todas aquellas personas cuya edad esté comprendida entre los 0 y los 18, y otro grupo para el resto de las personas.
Partimos de una tabla con el nombre, la edad, el sexo y la estatura.
Agrupación de registros por campo en MySQL: GROUP_CONCAT
El título del post quizás no sea muy descriptivo, pero el problema es peliagudo: en un blog queremos saber cómo se podría hacer para escoger de los últimos posts aquellos en los que se haya comentado, escoger los 5 últimos, y de cada uno de estos 5 últimos sacar los ids y los nombres de los últimos 3 comentadores. Ahí es nada.