Archivo de la etiqueta: base de datos

Listado de motores soportados por MySQL

Cuando instalamos un entorno que necesita de una base de datos MySQL para funcionar y por norma general, los motores utilizados serán o InnoDB o MyISAM. Las diferencias entre un sistema y otro la puedes ver en nuestro artículo Elegir entre MyISAM o InnoDB.

Pero existen muchos mas motores soportados por MySQL. Si por necesidad, necesitaras utilizar un motor que no sea InnoDB ni MyISAM, puedes conoces si tu base de datos lo soporta tecleando en la consola de MySQL:

mysql> show engines;

De todas formas te adelantamos que por norma general, los motores admitidos son:

  • MyISAM
  • Heap
  • Memory
  • Merge
  • MRG_MyISAM
  • InoDB
  • InnoBase
  • Archive
  • CSV
Facebooktwittergoogle_plus

Elegir entre MyISAM o InnoDB

mysql

Seguro que en alguna ocasión, al instalar una aplicación web, al llegar a las opciones de la base de datos, nos encontraremos la opción de elegir motor de almacenamiento de la base de datos MySQL, pudiendo seleccionar entre MyIsam o InnoDB. Llegados a ese punto de la instalación nos preguntaremos que opción será la mas conveniente para nuestro sistema, por ello vamos a ver en que se caracteriza cada sistema:

MyISAM

  • Sus tablas son mas simples, por tanto recomendado para nuevos usuarios de MySQL o de bases de datos en general.
  • Este sistema permite el bloqueo de tablas, lo que en algunos casos puede ser una ventaja, en otros puede ser un inconveniente ya que el resto de operaciones quedarán a la espera de la finalización de las operaciones en el registro actual.
  • Permite las caracteristicas ACID (Atomicity, Consistency, Isolation and Durability), con lo que se garantiza la integridad de las tablas.
  • Opción recomenda si se van a ejecutar en su mayoria sentencias SELECT, ya que destaca el rendimiento en éstas.
  • Es el motor que MySQL utiliza por defecto.

InnoDB

  • Gran fiabilidad en la integridad de los datos: si se realizan muchas operaciones con sentencias INSERT, DELETE o UPDATE, puede darse el caso de que de que se incluyan datos no validos, aunque con este sistema es muy dificil que ocurra.
  • Se puede recuperar de no esperados, ya que cuenta con sistema de logs de respaldo.
  • Realiza mas rapido las opciones de actualización / inserción por tanto es la opción indicada si tu sistema va a ejecutar principalmente las sentencias INSERT, UPDATE o DELETE.
  • Su diseño es mucho mas complejo, por lo que son necesarios mas conocimientos técnicos.

 

Facebooktwittergoogle_plus

Reemplazar datos en MySQL de forma masiva

Supongamos que tenemos un campo en nuestra base de datos que queremos modificar. Deberemos realizar un update con los campos que cumplan dicha condición:

UPDATE tabla SET campo = "valor_nuevo" WHERE campo = "valor_antiguo"

Pero si lo que queremos modificar es unicamente una parte concreta de una cadena de texto, deberemos actuar de esta manera:

UPDATE tabla SET campo = replace(campo,"cadena_existente", "cadena_nueva")
WHERE ...

Con ésto obtenemos las cadenas de texto seleccionadas, sustituyéndolas por el texto indicado. Éstas cadenas a continuación son almacenadas en la base de datos, consiguiendo el resultado que queremos.

Tenéis mas información consultando en la página de referencia de MySQL la función REPLACE

Facebooktwittergoogle_plus

Importar un fichero CSV a MySQL

El formato CSV es un formato bastante común para intercambiar información entre sistemas no compatibles entre sí. Su principal caracteristica es que están formados por caracteres, separados entre sí por un caracter especifico (coma, tabulador, punto y coma, etc.) que separa cada uno de los campos.

Sigue leyendo

Facebooktwittergoogle_plus

Trabajar con MySQL desde la línea de comandos

Cuando accedemos a una base de datos MySQL, por lo general lo hacemos por phpMyAdmin o mediante el propio script de nuestra página web. Pero MySQL se puede administrar desde la línea de comandos, aunque no resulte tan intuitivo como phpMyAdmin. Podremos hacer copias de seguridad, consultas, cambiar y asignar permisos, etc.

Pero lo primero de todo será acceder. Para ello deberemos abrir un terminal y escribir:

mysql -h servidor -u usuario -p

Donde deberás cambiar “servidor” y “usuario” por tus datos. A continuación el sistema solicitará la contraseña de acceso.

Ahora ya estás dentro del sistema. El paso siguiente será seleccionar la base de datos con la que queremos operar. Para ello, lo primero que podemos hacer, es ver que bases de datos existen en nuestro sistema. Escribiremos:

show databases;

Nos aparecerá un listado de las bases de datos. Para seleccionar una escribiremos:

use nombre_base_de_datos;

El paso siguiente será ver las tablas de la base de datos. Para ello teclearemos:

show tables;

Una vez conocemos las tablas, podemos realizar consultas sobre dicha tabla por ejemplo:

Select * from nombre_de_la_tabla;

Facebooktwittergoogle_plus