Guía Completa para Instalar y Usar MySQL en 2025

Diego Cortés
Diego Cortés
September 14, 2025
Guía Completa para Instalar y Usar MySQL en 2025

MySQL se ha posicionado como uno de los sistemas de gestión de bases de datos más populares y confiables en el ámbito del desarrollo web y la gestión de datos. En esta guía, se presentarán de manera detallada los pasos necesarios para instalar y comenzar a utilizar MySQL en 2025, así como conceptos básicos y funciones que ayudarán a los nuevos usuarios a familiarizarse con el entorno.

Instalación de MySQL

¿Qué es MySQL Workbench?

MySQL Workbench es una herramienta visual para arquitectos de bases de datos, desarrolladores y administradores de bases de datos (DBA). Esta aplicación proporciona capacidades de modelado de datos, desarrollo SQL y herramientas completas para administración de servidores, gestión de usuarios, copias de seguridad y muchas funciones más.

Instalación en Windows y macOS

  1. Descargar desde: MySQL Installer.
  2. Ejecutar el instalador y seleccionar "Developer Default".
  3. Configurar una contraseña de root cuando se te solicite.
  4. Instalar MySQL Workbench (opcional, pero útil como GUI).

Instalación en Linux (Ubuntu)

Para instalar MySQL y crear un usuario, sigue estos pasos:

Paso 1: Actualizar el índice de paquetes

sudo apt update

Paso 2: Instalar MySQL Server

sudo apt install mysql-server

Paso 3: Asegurar la instalación

sudo mysql_secure_installation

Selecciona tus opciones (aceptar la mayoría).

Paso 4: Crear un usuario 'harry'@'localhost'

Inicia sesión en MySQL:

sudo mysql

Ejecuta los siguientes comandos SQL:

CREATE USER 'harry'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'harry'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Paso 5: Probar el inicio de sesión

mysql -u harry -p

Introduce la contraseña: password.

Nota: Asegúrate de reemplazar 'password' por una contraseña segura de tu elección en entornos de producción.

Introducción a MySQL

¿Qué es una base de datos?

Una base de datos es un contenedor que almacena datos relacionados de manera organizada. En MySQL, una base de datos contiene una o más tablas.

Puedes pensar en una base de datos como:

  • Analogía de carpeta:
    • Una base de datos es como una carpeta.
    • Cada tabla es un archivo dentro de esa carpeta.
    • Las filas en la tabla son como el contenido dentro de cada archivo.
  • Analogía de Excel:
    • Una base de datos es como un libro de Excel.
    • Cada tabla es una hoja separada dentro de ese libro.
    • Cada fila en la tabla es como una fila en Excel.

Primeros pasos con MySQL

Paso 1: Crear una base de datos

CREATE DATABASE startersql;

Luego, para usarla, puedes:

  • Hacer clic derecho en ella en MySQL Workbench y seleccionar "Set as Default Schema".
  • O usar el siguiente comando SQL:
USE startersql;

Paso 2: Crear una tabla

Ahora crearás una tabla simple de usuarios:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    gender ENUM('Male', 'Female', 'Other'),
    date_of_birth DATE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Esta tabla almacenará la información básica de los usuarios.

Paso 3: Eliminar la base de datos

Puedes eliminar la base de datos completa (y todas sus tablas) usando:

DROP DATABASE startersql;

Ten cuidado: esto eliminará todo en esa base de datos.

Tipos de datos en MySQL

  • INT: Tipo entero, usado para números enteros.
  • VARCHAR(100): Cadena de longitud variable, hasta 100 caracteres.
  • ENUM: Objeto string con un valor elegido de una lista de valores permitidos.
  • DATE: Almacena valores de fecha.
  • TIMESTAMP: Almacena fecha y hora, establecido automáticamente a la fecha y hora actuales al crear una fila.
  • BOOLEAN: Almacena valores TRUE o FALSE, a menudo usados para indicadores.
  • DECIMAL(10, 2): Almacena valores numéricos exactos, útil para datos financieros.

Restricciones en MySQL

  • AUTO_INCREMENT: Genera automáticamente un número único para cada fila.
  • PRIMARY KEY: Identifica de manera única cada fila en la tabla.
  • NOT NULL: Asegura que una columna no pueda tener un valor NULL.
  • UNIQUE: Asegura que todos los valores en una columna sean diferentes.
  • DEFAULT: Establece un valor predeterminado para una columna si no se provee valor.

Trabajando con tablas en MySQL

Selección de datos de una tabla

Seleccionar todas las columnas

SELECT * FROM users;

Esto obtiene todas las columnas y filas de la tabla de usuarios.

Seleccionar columnas específicas

SELECT name, email FROM users;

Esto recupera solo las columnas de nombre y correo electrónico de todas las filas.

Renombrar una tabla

Para renombrar una tabla existente:

RENAME TABLE users TO customers;

Para renombrarla de vuelta:

RENAME TABLE customers TO users;

Alterar una tabla

Puedes usar ALTER TABLE para modificar una tabla existente.

  • Agregar una columna
ALTER TABLE users ADD COLUMN is_active BOOLEAN DEFAULT TRUE;
  • Eliminar una columna
ALTER TABLE users DROP COLUMN is_active;
  • Modificar el tipo de una columna
ALTER TABLE users MODIFY COLUMN name VARCHAR(150);
  • Mover una columna a la primera posición

Para mover una columna (por ejemplo, email) a la primera posición:

ALTER TABLE users MODIFY COLUMN email VARCHAR(100) FIRST;

Para mover una columna después de otra columna:

ALTER TABLE users MODIFY COLUMN gender ENUM('Male', 'Female', 'Other') AFTER name;

Insertar datos en tablas MySQL

Para agregar datos a una tabla, usamos el comando INSERT INTO.

Insertar sin especificar nombres de columnas

INSERT INTO users VALUES
(1, 'Alice', '[email protected]', 'Female', '1995-05-14', DEFAULT);

Nota: No se recomienda si la estructura de la tabla puede cambiar.

Insertar especificando nombres de columnas

INSERT INTO users (name, email, gender, date_of_birth) VALUES
('Bob', '[email protected]', 'Male', '1990-11-23');

O para múltiples filas:

INSERT INTO users (name, email, gender, date_of_birth) VALUES
('Bob', '[email protected]', 'Male', '1990-11-23'),
('Charlie', '[email protected]', 'Other', '1988-02-17');

Consultas de datos en MySQL con SELECT

El comando SELECT se utiliza para consultar datos de una tabla.

Sintaxis básica

SELECT column1, column2 FROM table_name;

Filtrado de filas con WHERE

  • Igual a
SELECT * FROM users WHERE gender = 'Male';
  • No igual a
SELECT * FROM users WHERE gender != 'Female';
  • Mayor que / menor que
SELECT * FROM users WHERE date_of_birth < '1995-01-01';

Actualizando datos existentes

El comando UPDATE se usa para cambiar valores en una o más filas.

Sintaxis básica

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

Eliminando datos de una tabla

El comando DELETE se utiliza para eliminar filas de una tabla.

Sintaxis básica

DELETE FROM table_name
WHERE condition;

Mejores prácticas

  • Siempre usa WHERE a menos que tengas la intención de actualizar o eliminar todo.
  • Considera ejecutar un SELECT con la misma cláusula WHERE primero para confirmar lo que se verá afectado.
  • Siempre haz una copia de seguridad de los datos importantes antes de realizar operaciones destructivas.

Conclusión

MySQL es una herramienta poderosa que, cuando se utiliza correctamente, puede facilitar la gestión de datos de forma eficiente. Desde la instalación inicial hasta las consultas y las transacciones, comprender estos conceptos básicos proporcionará una base sólida para explorar más sobre MySQL.

Para conocer más sobre temas relacionados con bases de datos y tecnología, se invita a explorar más en el blog.

Información del artículo

Publicado: September 14, 2025
Categoría: Tutoriales de MYSQL
Tiempo de lectura: 5-8 minutos
Dificultad: Intermedio

Consejos clave

1

Toma tu tiempo para entender cada concepto antes de continuar con el siguiente.

2

Practica los ejemplos en tu propio entorno de desarrollo para mejor comprensión.

3

No dudes en revisar los recursos adicionales mencionados en el artículo.

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Preguntas Frecuentes

Categorías

Page loaded in 31.42 ms