Saltar al contenido
Server 2024-06-01 13 min de lectura

Qué es MySQL y para Qué Sirve: Guía Completa con Ejemplos SQL

Detrás de casi cualquier sitio web, aplicación o sistema empresarial que uses a diario hay una base de datos guardando, ordenando y sirviendo información en milisegundos. **MySQL** es el motor de bases de datos relacionales de código abierto más popular del mundo, y entender cómo funciona —aunque no seas administrador de bases de datos— te ayuda a tomar mejores decisiones técnicas. En esta guía repasamos qué es una base de datos, por qué MySQL se ha vuelto un estándar de la industria, y las sentencias SQL que todo desarrollador o administrador de sistemas debería conocer.

Qué es MySQL y para Qué Sirve: Guía Completa con Ejemplos SQL
#Server#MySQL#Bases de Datos#SQL
T
Equipo Terranode
Editorial

¿Qué es una base de datos?

Una base de datos es una colección organizada de información que se almacena y se puede consultar electrónicamente. Existen distintos tipos según cómo estructuran los datos:

  • Relacionales: organizan la información en tablas con filas y columnas (MySQL, PostgreSQL, SQL Server).
  • De documentos: almacenan registros como documentos flexibles, normalmente en JSON (MongoDB).
  • Clave-valor: pares simples de clave e información asociada, optimizados para velocidad (Redis).
  • De grafos: modelan relaciones complejas entre entidades (Neo4j).
  • De series temporales: pensadas para datos con marca de tiempo, como métricas o sensores (InfluxDB).

Las bases de datos relacionales siguen siendo las más usadas en el mundo empresarial porque su modelo —tablas con filas (registros) y columnas (campos)— es intuitivo y muy eficiente para datos estructurados: usuarios, pedidos, transacciones, inventarios, etc.

Un sistema de gestión de bases de datos (o DBMS, por sus siglas en inglés) es el software que permite crear, modificar, consultar y administrar esa información. MySQL, PostgreSQL, Oracle, SQL Server y MongoDB son ejemplos de DBMS ampliamente usados hoy en día.

¿Qué es MySQL y por qué se volvió tan popular?

MySQL es un sistema de gestión de bases de datos relacionales de código abierto, mantenido actualmente por Oracle Corporation. Su popularidad —es la base de datos detrás de WordPress, la mayoría de aplicaciones PHP y buena parte de la infraestructura web mundial— se explica por cuatro razones principales:

  • Escalabilidad: maneja desde blogs pequeños hasta aplicaciones con millones de registros, y crece junto con las necesidades del proyecto.
  • Robustez: es conocida por su estabilidad y fiabilidad en entornos de producción críticos, con años de uso en empresas de todos los tamaños.
  • Costo-efectividad: al ser software de código abierto, se puede usar sin costos de licencia, respaldado además por una comunidad activa que aporta soporte y mejoras constantes.
  • Compatibilidad amplia: se integra fácilmente con C, C++, Java, Python, PHP, Node.js y prácticamente cualquier lenguaje moderno, lo que la hace una opción natural para casi cualquier stack tecnológico.

Sentencias SQL esenciales que deberías conocer

A continuación repasamos las sentencias más importantes de SQL, el lenguaje que se usa para interactuar con MySQL y la mayoría de bases de datos relacionales.

SELECT — Consultar datos

Recupera datos de una o varias tablas. Es, por lejos, la sentencia más usada.

sql
SELECT * FROM employees;

INSERT — Agregar registros

Añade nuevas filas de datos a una tabla existente.

sql
INSERT INTO employees (first_name, last_name, salary)
VALUES ('John', 'Doe', 50000);

UPDATE — Modificar registros

Actualiza datos ya existentes. Siempre usa una cláusula WHERE para evitar modificar toda la tabla por error.

sql
UPDATE employees
SET salary = 55000
WHERE id = 1;

DELETE — Eliminar registros

Elimina filas de una tabla según una condición. Igual que con UPDATE, omitir el WHERE es uno de los errores más costosos en producción.

sql
DELETE FROM employees
WHERE id = 1;

CREATE — Crear tablas y bases de datos

Crea una nueva tabla, base de datos, índice u otro objeto.

sql
CREATE TABLE employees (
  id INT PRIMARY KEY,
  first_name VARCHAR(255),
  last_name VARCHAR(255),
  salary INT
);

ALTER — Modificar la estructura de una tabla

Permite añadir, modificar o eliminar columnas de una tabla existente sin recrearla desde cero.

sql
ALTER TABLE employees
ADD email VARCHAR(255);

DROP — Eliminar tablas o bases de datos

Elimina permanentemente una tabla, base de datos o índice completo. Úsala con mucho cuidado: no hay confirmación intermedia.

sql
DROP TABLE employees;

JOIN — Combinar datos de varias tablas

Combina filas de dos o más tablas relacionadas mediante una columna en común, algo esencial en cualquier base de datos relacional bien normalizada.

sql
SELECT employees.first_name, employees.last_name, departments.name
FROM employees
JOIN departments ON employees.department_id = departments.id;

LIMIT — Limitar resultados

Restringe el número de filas devueltas por una consulta, muy útil para paginación o para explorar tablas grandes sin sobrecargar el cliente.

sql
SELECT * FROM employees
LIMIT 5;

COUNT — Contar registros

Cuenta el número de filas que cumplen (o no) una condición.

sql
SELECT COUNT(*) FROM employees;

GROUP BY — Agrupar resultados

Agrupa filas según una o más columnas, generalmente combinado con funciones de agregación como SUM, AVG o COUNT.

sql
SELECT department, SUM(salary)
FROM employees
GROUP BY department;

HAVING — Filtrar grupos agregados

Filtra los resultados de un GROUP BY según valores agregados. Es al agrupamiento lo que WHERE es a las filas individuales.

sql
SELECT department, SUM(salary)
FROM employees
GROUP BY department
HAVING SUM(salary) > 1000000;

INNER JOIN, LEFT JOIN y RIGHT JOIN

Existen varios tipos de JOIN según qué filas quieras conservar cuando no hay coincidencia entre tablas:

  • INNER JOIN: devuelve solo las filas que tienen coincidencia en ambas tablas.
sql
SELECT employees.first_name, employees.last_name, orders.order_number
FROM employees
INNER JOIN orders ON employees.id = orders.employee_id;
  • LEFT JOIN: devuelve todas las filas de la tabla izquierda, tengan o no coincidencia en la derecha.
sql
SELECT customers.first_name, customers.last_name, orders.order_number
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
  • RIGHT JOIN: es el espejo del anterior, devuelve todas las filas de la tabla derecha.
sql
SELECT customers.first_name, customers.last_name, orders.order_number
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.id;

UNION — Combinar resultados de varias consultas

Combina el resultado de dos o más sentencias SELECT en un único conjunto de resultados, siempre que tengan el mismo número de columnas y tipos compatibles.

sql
SELECT first_name, last_name, salary
FROM employees
UNION
SELECT name, 'N/A', 0
FROM departments;

TRUNCATE — Vaciar una tabla

Elimina todos los registros de una tabla de forma mucho más rápida que DELETE, ya que no genera registros de reversión individuales. A diferencia de DELETE, también reinicia el contador de autoincremento.

sql
TRUNCATE TABLE employees;

RENAME — Renombrar objetos

Cambia el nombre de una tabla o base de datos, útil cuando el nombre original quedó desactualizado o mal escrito.

sql
RENAME TABLE employees TO staff;

EXPLAIN — Analizar el rendimiento de una consulta

EXPLAIN muestra el plan de ejecución que MySQL usará para resolver una consulta SELECT: qué tablas e índices utilizará, el tipo de unión aplicado y cuántas filas examinará. Es la herramienta principal para diagnosticar consultas lentas.

sql
EXPLAIN SELECT customers.first_name, customers.last_name, orders.order_number
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.id;

Entre los campos más relevantes que devuelve EXPLAIN están:

  • type: el tipo de acceso usado (ALL, index, range, ref, entre otros). ALL suele indicar una revisión completa de la tabla, señal de que falta un índice.
  • possible_keys y key: los índices disponibles y el que realmente se usó.
  • rows: una estimación de cuántas filas se examinarán para resolver la consulta.
  • Extra: información adicional, como si se está usando un índice o una condición WHERE de forma eficiente.

Usa EXPLAIN antes y después de agregar índices o modificar una consulta para comparar el impacto real en el rendimiento. Ten en cuenta que solo funciona con sentencias SELECT y está disponible en el cliente de línea de comandos.

MySQL combina escalabilidad, robustez, costo-efectividad y una comunidad enorme, razones suficientes para explicar por qué sigue siendo la base de datos relacional más usada del mundo casi tres décadas después de su creación. Dominar las sentencias que repasamos aquí —desde un simple `SELECT` hasta el análisis de rendimiento con `EXPLAIN`— es una base sólida para cualquier persona que trabaje con datos, sin importar si administra servidores, desarrolla aplicaciones o simplemente necesita entender cómo funciona el motor detrás de su sitio web. Si tienes dudas durante la implementación, nuestro equipo de soporte técnico está disponible 24/7 para ayudarte.

¿Listo para llevar tu sitio al siguiente nivel?

Hosting con LiteSpeed, NVMe y soporte 24/7 desde $3/mes.

Ver planes de hosting

Preguntas frecuentes