Guía rápida de referencia de comandos y consultas útiles de MySQL:
- Hacer copia de seguridad de una base de datos completa:
mysqldump -u root -p basedatos > basedatos.sql
- Hacer copia de seguridad de una sola tabla:
mysqldump -u root -p basedatos tabla > tabla.sql
- Hacer copia de seguridad de una base de datos excluyendo una tabla:
mysqldump --ignore-table=basedatos.tabla -u root -p basedatos > basedatos.sql
- Restaurar copia de seguridad de una base de datos MySQL:
mysql -u root -p basedatos < basedatos.sql
- Restaurar copia de seguridad de una base de datos MySQL:
UPDATE tabla SET campo = REPLACE(campo,'textoviejo','textonuevo')
- Exportar resultado de una consulta a un archivo de texto:
SELECT * INTO OUTFILE '/tmp/fichero.txt' FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' FROM tabla;
- Cambiar codificación de caracteres de una base de datos:
SET NAMES 'latin1';
SET CHARACTER SET 'latin1'; - Obtener tamaño de la base de datos:
SELECT table_schema "Base de Datos", sum( data_length + index_length ) / 1024 / 1024 "Tamaño en MB" FROM information_schema.TABLES GROUP BY table_schema;
- Buscar campos duplicados de una tabla:
SELECT nombre_campo, count(*) FROM nombre_tabla GROUP BY nombre_campo HAVING count(*) > 1;
- Contar número de caracteres de un campo:
SELECT CHARACTER_LENGTH(nombre_campo) FROM nombre_tabla
- Reemplazar texto:
UPDATE tabla SET columna = REPLACE (columna, "texto_a_buscar", "texto_a_reemplazar");
- Mostrar proceso MySQL en tiempo real (-i es el intervalo de tiempo en sgs que se actualiza la información):
mysqladmin -u root -p -i 1 processlist
- Reemplazar caracter en todos los registros del mismo campo de una tabla, por ejemplo cambiar X por Y:
update tabla set campo = replace(campo, 'X', 'Y');
- Buscar distinguiendo mayúsculas y minúsculas (case sensitive):
SELECT * FROM tabla WHERE campo LIKE BINARY 'texto'