mysql

Capitalizar la primer letra de una columna en MySQL

Mi compañero Elías está metiendo datos de un catálogo de un cliente a su página web que le estamos haciendo. El nombre de todos los productos vienen en mayúsculas, pero por el diseño de la página web no queremos que se vea así, sino que solamente la primer letra esté capitalizada. Para facilitar la entrada de datos lo que hacemos es meter todos los datos como vienen y después usar SQL para cambiar la columna.

La sentencia que utilizamos al final es:

update node set title = CONCAT(UPPER(LEFT(title, 1)), LOWER(MID(title,2)));

Backups de MySQL con git

Brian Aker, desarrollador de mysql, sugirió una manera "inteligente o extraña" de hacer backups de tu base de datos utilizando mercurial (un sistema control de versiones distribuido).

Nosotros en axai veníamos utilizando un sistema parecido, con la diferencia de que nosotros utilizamos git en vez de mercurial y que tampoco conocíamos la opción --tab del comando mysqldump. Esta opción es la que logra hacer que este método para backups sea todavía más útil, ya que al revisar la historia de tu base de datos podrás ver exactamente que cambios a sufrido con el paso del tiempo.

Este método de backups en resumidas cuentas tiene las siguientes ventajas:

  • Buscar en tu historial de backups
  • Ver los cambios entre una fecha y otra
  • Hacer restauraciones parciales (de algunas tablas solamente)
  • Ocupar muy poco espacio en tu disco duro
  • Permitirte trasladar ese historial de backups de manera sencilla de una máquina a otra

Entonces, vamos a ver cómo se hace. Para crear los respaldos de tu base de datos utilizas los siguientes comandos:

$ mysqldump -u user --tab=/var/backup/dbname dbname $ cd /var/backup/dbname $ git-add . $ git-commit -m "automatic backup" $ git-push

El último comando es opcional, utilizalo sólo si tienes un repositorio remoto de git configurado.

Para restaurar este tipo de respaldos se utiliza el comando mysqlimport:

$ mysqladmin -u user create dbname $ cat /var/backups/dbname/.sql | mysql dbname # crea las tablas $ mysqlimport -u user dbname --local /var/backups/dbname/.txt # carga los datos

Disfruten ;-).

Subscribe to RSS - mysql
Drupal theme by Kiwi Themes.