Manejando datos

Modificar COLLATE de las tablas en MySQL-MariaDB

Posted by in MariaDB, MySQL

Trabajar con los caracteres en las bases de datos parece que no tiene consecuencias, hasta que te topas con cosas que no concuerdan. En la entrada de hoy os cuento cómo hacer más fácil cambiar los COLLATE de las tablas todas al mismo. El motivo de esta entrada El motivo de esta entrada es que al hacer una consulta, no obtenía el resultado correcto. Reproducimos lo que me pasó, y creamos una base de datos, tal que así: CREATE DATABASE `test` /*!40100 COLLATE ‘utf8_general_ci’ */; Y creamos una tabla: CREATE…read more

Migración de Excel a MySQL

Posted by in Bases de datos, MySQL

Hace mucho que no escribo sobre MySQL y también de Python, así que hoy te cuento cómo realizar una migración de una tabla que tengas en Excel a MySQL, todo esto usando Python.Y todo, en menos de 50 líneas. Esta entrada de hoy es una aproximación totalmente diferente a usar MySQL for Excel, de la que ya te conté hace tiempo. Conocimientos previos Para la solución que te propongo, he usado SqlAlchemy, y pandas. Evidentemente, necesitas disponer de un servidor MySQL. SqlAlchemy es una libreria Object Relational Model, esto es…read more

0

Common_schema: tareas repetitivas con foreach

Posted by in MariaDB, MySQL

Aunque hemos hablado varias veces de este framework de MySQL-MariaDB, hoy os traigo una nueva función, muy útil cuando necesitas realizar tareas repetitivas basadas en consultas. Se trata de utilizar call foreach. Aquí expongo un ejemplo práctico de cómo lo he usado yo para ejecutar una tarea concreta: reemplazar todos los valores nulos a cero en una tabla con un monton de campos. Localizando los campos de la tabla Para localizar los campos a los que aplicar la rutina, qué mejor que utilizar information_schema, que es una de las bases…read more

Mecanismo de los índices en MySQL-MariaDB

Posted by in Bases de datos, MariaDB, MySQL

En pasadas entradas sobre MySQL os conté primero la ventaja a nivel de rendimiento que supone tener índices en las bases de datos, y posteriormente, cómo forzar a MySQL a usar un índice que no es el que MySQL estima que es el mejor. La entrada de hoy profundiza en cómo esel mecanismo de los índices en las tablas de MySQL-MariaDB, con el fin de que lo tengas presente para la optimización de consultas. Aunque esta entrada es bastante teórica, creo que es muy interesante que prestes toda la atención…read more

Qué es más rápido: TRUNCATE de una tabla, o ELIMINAR una gran tabla en MySQL?

Posted by in Bases de datos, MariaDB, MySQL

Dentro de un proyecto que tengo con al Universidad, necesito rehacer una tabla y me planteo usar el método más rápido de las dos posibilidades que hay: hacer un TRUNCATE, o bien eliminar la tabla completamente y volverla a crear. TRUNCATE es la opción de vaciar una tabla reiniciando también el valor de autonumérico a generar, volviendo a uno. Eliminar una tabla es hacer DROP TABLE, con lo que directamente te cargas la tablas, y que requerirá un CREATE TABLE para restablecer la estructura. Para valorar de las dos opciones…read more