OpenWebinars

Bases de Datos

Qué es MySQL: Características y ventajas

Descubre en este artículo las principales características de este sistema de gestión de bases de datos que actualmente es el más extendido. Veremos además su origen y evolución, sus mayores ventajas y daremos un repaso a sus sentencias básicas.

Angel Robledano

Angel Robledano

Product Manager

Lectura 4 minutos

Publicado el 24 de septiembre de 2019

Compartir

    Tabla de contenidos

En programación es prácticamente inevitable trabajar con algún tipo de sistema de gestión de bases de datos. Cualquier programa que imaginemos tarde o temprano necesitará almacenar datos en algún lugar, como mínimo para poder almacenar la lista de usuarios autorizados, sus permisos y propiedades.

MySQL es el sistema de gestión de bases de datos relacional más extendido en la actualidad al estar basada en código abierto. Desarrollado originalmente por MySQL AB, fue adquirida por Sun MicroSystems en 2008 y esta su vez comprada por Oracle Corporation en 2010, la cual ya era dueña de un motor propio InnoDB para MySQL.

MySQL es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por una parte es de código abierto, pero por otra, cuenta con una versión comercial gestionada por la compañía Oracle.

Las versiones Enterprise, diseñadas para aquellas empresas que quieran incorporarlo en productos privativos, incluyen productos o servicios adicionales tales como herramientas de monitorización y asistencia técnica oficial.

Conviértete en un Backend Developer
Domina los lenguajes de programación más demandados. Accede a cursos, talleres y laboratorios para crear proyectos con Java, Python, PHP, Microsoft .NET y más
Comenzar gratis ahora

Características de MySQL

MySQL presenta algunas ventajas que lo hacen muy interesante para los desarrolladores. La más evidente es que trabaja con bases de datos relacionales, es decir, utiliza tablas múltiples que se interconectan entre sí para almacenar la información y organizarla correctamente.

Al ser basada en código abierto es fácilmente accesible y la inmensa mayoría de programadores que trabajan en desarrollo web han pasado usar MySQL en alguno de sus proyectos porque al estar ampliamente extendido cuenta además con una ingente comunidad que ofrece soporte a otros usuarios. Pero estas no son las únicas características como veremos a continuación:

  1. Arquitectura Cliente y Servidor: MySQL basa su funcionamiento en un modelo cliente y servidor. Es decir, clientes y servidores se comunican entre sí de manera diferenciada para un mejor rendimiento. Cada cliente puede hacer consultas a través del sistema de registro para obtener datos, modificarlos, guardar estos cambios o establecer nuevas tablas de registros, por ejemplo.
  2. Compatibilidad con SQL: SQL es un lenguaje generalizado dentro de la industria. Al ser un estándar MySQL ofrece plena compatibilidad por lo que si has trabajado en otro motor de bases de datos no tendrás problemas en migrar a MySQL.
  3. Vistas: Desde la versión 5.0 de MySQL se ofrece compatibilidad para poder configurar vistas personalizadas del mismo modo que podemos hacerlo en otras bases de datos SQL. En bases de datos de gran tamaño las vistas se hacen un recurso imprescindible.
  4. Procedimientos almacenados. MySQL posee la característica de no procesar las tablas directamente sino que a través de procedimientos almacenados es posible incrementar la eficacia de nuestra implementación.
  5. Desencadenantes. MySQL permite además poder automatizar ciertas tareas dentro de nuestra base de datos. En el momento que se produce un evento otro es lanzado para actualizar registros o optimizar su funcionalidad.
  6. Transacciones. Una transacción representa la actuación de diversas operaciones en la base de datos como un dispositivo. El sistema de base de registros avala que todos los procedimientos se establezcan correctamente o ninguna de ellas. En caso por ejemplo de una falla de energía, cuando el monitor falla u ocurre algún otro inconveniente, el sistema opta por preservar la integridad de la base de datos resguardando la información.

Ventajas de usar MySQL

Descritas las principales características de MySQL es fácil ver sus ventajas. MySQL es una opción razonable para ser usado en ámbito empresarial. Al estar basado en código abierto permite a pequeñas empresas y desarrolladores disponer de una solución fiable y estandarizada para sus aplicaciones. Por ejemplo, si se cuenta con un listado de clientes, una tienda online con un catálogo de productos o incluso una gran selección de contenidos multimedia disponible, MySQL ayuda a gestionarlo todo debida y ordenadamente.

Historia y versiones de MySQL

La historia de MySQL comienza cuando Michael Widenius, un programador de software, buscaba una solución sencilla que permitiera dar salida a sus proyectos sin recurrir a soluciones de terceros. Al comienzo MySQL carecía de elementos considerados esenciales como la integridad referencial y transacciones pero a pesar de ello atrajo rápidamente a desarrolladores web.

Esto dió lugar a la fundación de la empresa MySQL AB (empresa fundada por David Axmark, Allan Larsson y Michael Widenius) para dar continuidad al proyecto. Posteriormente la empresa fue adquirida por Sun MicroSystems en 2008 quien vió en MySQL una solución para competir con su competidor Oracle quien, curiosamente, acabó por hacerse con la compañía en 2010.

Imagen 0 en Que es MySQL

Desde 1995, momento en el que la compañía de software de MySQL AB creó la versión original hasta hoy MySQL ha ido evolucionando incorporando nuevas funciones. En 1999, se lanzó la versión 3.23.0, la primera versión en importancia a la que luego siguieron otras como las versiones 5.0.0, liberada en 2005, y la 5.5.x que fue lanzada en diciembre de 2009.

Principales sentencias de MySQL

MySQL comparte las sentencias del lenguaje SQL. Lo que en la práctica se traduce en una plena compatibilidad. Al ser un elemento muy ligado al backend de cualquier aplicación web, normalmente desarrollada sobre algún lenguaje como PHP, puede ser un poco difícil de ejemplificar pues sería necesario abarcar todo un artículo pero se puede realizar la siguiente relación de sentencias básicas:

  • SELECT es usada para consultar datos.
  • DISTINCT Sirve para eliminar los duplicados de las consultas de datos.
  • WHERE Es usada incluir las condiciones de los datos que queremos consultar.
  • AND y OR es usada para incluir 2 o más condiciones a una consulta.
  • ORDER BY Es usada para ordenar los resultados de una consulta.
  • INSERT Es usada para insertar datos.
  • UPDATE Es usada actualizar o modificar datos ya existentes.
  • DELETE Es usada borrar datos.

Por ejemplo y para mostrar cómo funciona su sintaxis lo mejor es ver un ejemplo con SELECT. Es sin duda el comando más versátil del lenguaje SQL.

SELECT * 
FROM Nombre_Tabla_Vista 
WHERE Condiciones
ORDER BY ListaColumnas [ ASC / DESC ]

Por ejemplo:

SELECT nombre, apellido1, apellido2 FROM personas
nombre apellido1 apellido2
JUAN MATEOS MENDEZ
MARIA GARCIA BENITO
LUIS GARCIA MATEOS

Mejora las habilidades de tus desarrolladores
Acelera la formación tecnológica de tus equipos con OpenWebinars. Desarrolla tu estrategia de atracción, fidelización y crecimiento de tus profesionales con el menor esfuerzo.
Solicitar más información

Ejemplo con Distinct

Al realizar una consulta puede ocurrir que existan valores repetidos para algunas columnas. Por ejemplo

SELECT nombre FROM personas
NOMBRE
EVA
LUIS
EVA

Esto no es un problema, pero a veces queremos que no se repitan, por ejemplo, si queremos saber los nombre diferentes que hay en la tabla personas”, entonces utilizaremos DISTINCT.

SELECT DISTINCT nombre FROM personas
nombre
EVA
LUIS

Ejemplo con WHERE

La cláusula WHERE es usada para hacer filtros en las consultas, es decir, seleccionar solamente algunas filas de la tabla que cumplan una determinada condición.

El valor de la condición debe ir entre comillas simples ”. Por ejemplo:

Seleccionar las personas cuyo nombre sea EVA

SELECT * FROM personas WHERE nombre = EVA
nombre apellido1 apellido2
EVA MATEOS GUTIERREZ
EVA BENITO BENITO

Ejemplo con AND y OR

Los operadores AND y OR son usados para filtrar resultados con 2 condiciones. Así, el operador AND mostrará los resultados si se cumplan las 2 condiciones.

Condición1 AND condición2

Mientras que el operador OR mostrará los resultados cuando se cumpla alguna de las 2 condiciones.

Condicion1 OR condicion2

Por ejemplo en la tabla personas:

nombre apellido1 apellido2
EVA MATEOS GUTIERREZ
EVA BENITO BENITO
LUIS LOPEZ MATEOS

La siguiente sentencia (ejemplo AND) dará el siguiente resultado:

SELECT * FROM personas WHERE nombre = ‘EVA’ AND apellido1 = ‘GARCIA’
nombre apellido1 apellido2
EVA GARCIA BENITO

Ejemplo con ORDER BY

ORDER BY es usada para ordenar los resultados de una consulta, según el valor de la columna especificada. Por ejemplo:

SELECT nombre, apellido1 FROM personas ORDER BY apellido1 ASC
nombre apellido1
LUIS LOPEZ
EVA GARCÍA
EVA MATEOS
SELECT nombre, apellido1 FROM personas ORDER BY apellido1 DESC
nombre apellido1
EVA MATEOS
EVA GARCIA
LUIS LOPEZ

Ejemplo con INSERT

La sentencia INSERT INTO es usada para insertar nuevas filas en una tabla. Si queremos insertar una nueva fila en la tabla personas, lo podemos hacer con cualquiera de las dos sentencias siguientes:

INSERT INTO personas VALUES (‘PEDRO’, ‘RUIZ’, ‘GONZALEZ’) 
INSERT INTO personas (nombre, apellido1, apellido2) VALUES (‘PEDRO’, ‘RUIZ’, ‘GONZALEZ’)

Ejemplo con UPDATE

La sentencia UPDATE es usada para modificar valores en una tabla.

Ejemplo del uso de SQL UPDATE

UPDATE personas SET apellido2 = ‘RODRIGUEZ’ WHERE nombre = ‘ANTONIO’ AND apellido1 = ‘GARCIA’ AND apellido2 = ‘BENITO’

Ejemplo con DELETE

La sentencia DELETE es usada para BORRAR valores en una tabla. Por ejemplo:

DELETE FROM personas WHERE nombre = ‘LUIS’ AND apellido1 = ‘LOPEZ’ AND apellido2 = ‘MATEOS’

¿Quieres aprender más al respecto?

Por supuesto podríamos ofrecer más ejemplos pero las posibilidades son infinitas. En este tipo de casos la máxima debería ser “la práctica hace al maestro” y estoy seguro que a poco que comiences a trabajar con bases de datos o a desarrollar tus primeras aplicaciones en PHP, Java o Javascript comenzarás a familiarizarte con los conceptos básicos y avanzados del tratamiento de datos en MySQL.

Si te apasionan las bases de datos y quieres trabajar en ese campo, nuestra carrera de experto en bases de datos te va permitir alcanzar un nivel profesional en el manejo de las mismas, tanto relacionales como no relacionales.

Imagen 1 en Qué es MySQL: Características y ventajas

Compartir este post

También te puede interesar