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
- Descargar desde: MySQL Installer.
- Ejecutar el instalador y seleccionar "Developer Default".
- Configurar una contraseña de root cuando se te solicite.
- 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.