Tutorial de MySQL: Principales Comandos

1. Introducción a MySQL

MySQL es un sistema de gestión de bases de datos relacional (RDBMS) basado en SQL (Structured Query Language). Se utiliza para almacenar y gestionar grandes volúmenes de datos de manera eficiente.

Para comenzar a usar MySQL, primero debes iniciar sesión en el servidor con:

mysql -u usuario -p

Después de ingresar tu contraseña, tendrás acceso al entorno de MySQL.


2. Comandos Básicos de Gestión de Bases de Datos

Crear una base de datos

CREATE DATABASE nombre_basedatos;

Mostrar bases de datos disponibles

SHOW DATABASES;

Seleccionar una base de datos para usarla

USE nombre_basedatos;

Eliminar una base de datos

DROP DATABASE nombre_basedatos;

3. Comandos para Manejo de Tablas

Crear una tabla

CREATE TABLE nombre_tabla (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50),
    edad INT,
    correo VARCHAR(100) UNIQUE
);

Mostrar las tablas de una base de datos

SHOW TABLES;

Ver la estructura de una tabla

DESCRIBE nombre_tabla;

o

SHOW COLUMNS FROM nombre_tabla;

Eliminar una tabla

DROP TABLE nombre_tabla;

Modificar una tabla (Agregar columna)

ALTER TABLE nombre_tabla ADD COLUMN direccion VARCHAR(255);

Modificar el tipo de dato de una columna

ALTER TABLE nombre_tabla MODIFY COLUMN edad TINYINT;

Eliminar una columna de una tabla

ALTER TABLE nombre_tabla DROP COLUMN direccion;

4. Operaciones CRUD (Create, Read, Update, Delete)

Insertar datos en una tabla

INSERT INTO nombre_tabla (nombre, edad, correo) 
VALUES ('Juan', 25, 'juan@example.com');

Consultar datos de una tabla

SELECT * FROM nombre_tabla;

Consultar solo ciertos campos:

SELECT nombre, edad FROM nombre_tabla;

Filtrar resultados con WHERE:

SELECT * FROM nombre_tabla WHERE edad > 20;

Ordenar resultados:

SELECT * FROM nombre_tabla ORDER BY edad DESC;

Limitar resultados:

SELECT * FROM nombre_tabla LIMIT 5;

Actualizar registros

UPDATE nombre_tabla 
SET edad = 30 
WHERE nombre = 'Juan';

Eliminar registros

DELETE FROM nombre_tabla WHERE nombre = 'Juan';

5. Claves Primarias, Foráneas e Índices

Definir una clave primaria

CREATE TABLE empleados (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50)
);

Definir una clave foránea

CREATE TABLE departamentos (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nombre VARCHAR(50),
    id_empleado INT,
    FOREIGN KEY (id_empleado) REFERENCES empleados(id)
);

Crear un índice para mejorar el rendimiento

CREATE INDEX idx_nombre ON nombre_tabla (nombre);

6. Funciones Agregadas y Agrupación

Contar registros

SELECT COUNT(*) FROM nombre_tabla;

Suma de valores

SELECT SUM(edad) FROM nombre_tabla;

Promedio de valores

SELECT AVG(edad) FROM nombre_tabla;

Valor máximo y mínimo

SELECT MAX(edad) FROM nombre_tabla;
SELECT MIN(edad) FROM nombre_tabla;

Agrupar registros

SELECT edad, COUNT(*) FROM nombre_tabla GROUP BY edad;

Filtrar después de agrupar (HAVING)

SELECT edad, COUNT(*) 
FROM nombre_tabla 
GROUP BY edad 
HAVING COUNT(*) > 1;

7. Uniones y Subconsultas

Unir tablas con JOIN

SELECT empleados.nombre, departamentos.nombre
FROM empleados
JOIN departamentos ON empleados.id = departamentos.id_empleado;

Subconsulta

SELECT * FROM empleados 
WHERE id IN (SELECT id_empleado FROM departamentos);

8. Creación de Usuarios y Permisos

Crear un nuevo usuario

CREATE USER 'nuevo_usuario'@'localhost' IDENTIFIED BY 'contraseña_segura';

Conceder permisos

GRANT ALL PRIVILEGES ON nombre_basedatos.* TO 'nuevo_usuario'@'localhost';

Revocar permisos

REVOKE ALL PRIVILEGES ON nombre_basedatos.* FROM 'nuevo_usuario'@'localhost';

Eliminar usuario

DROP USER 'nuevo_usuario'@'localhost';

9. Copia de Seguridad y Restauración

Exportar una base de datos

Desde la terminal:

mysqldump -u usuario -p nombre_basedatos > backup.sql

Importar una base de datos

mysql -u usuario -p nombre_basedatos < backup.sql

Conclusión

Este tutorial cubre los comandos más esenciales de MySQL. Con esta base, ya puedes manejar bases de datos, crear relaciones entre tablas, realizar consultas eficientes y administrar permisos.

Si quieres profundizar más, te recomiendo practicar con bases de datos reales y explorar conceptos como triggers, procedimientos almacenados y vistas.

🚀 ¡Sigue practicando y conviértete en un experto en MySQL! 🚀

Comentarios

No comments found.