- 1 1. Introducción
- 2 2. Operaciones básicas de MySQL (para principiantes)
- 3 3. Operaciones de base de datos
- 4 4. Operaciones de tabla
1. Introducción
MySQL es una base de datos relacional de código abierto ampliamente utilizada entre los sistemas de gestión de bases de datos (DBMS). Es especialmente popular para aplicaciones web y sistemas empresariales. En este artículo explicaremos en detalle los comandos esenciales de MySQL y estructuraremos el contenido para que usuarios desde principiantes hasta intermedios puedan aprender de forma fluida.
1.1 ¿Qué es MySQL?
MySQL es un software utilizado para gestionar una base de datos relacional (RDB). Los datos se almacenan en tablas y se manipulan mediante SQL (Structured Query Language). MySQL tiene las siguientes características:
- Código abierto y gratuito para cualquiera
- Rendimiento rápido y liviano
- Compatible con muchos lenguajes de programación (como PHP, Python y Java)
- Adecuado para operar bases de datos a gran escala
1.2 Beneficios de aprender los comandos de MySQL
Para usar MySQL de manera eficiente, es importante comprender los comandos básicos. Los principales beneficios incluyen:
- Gestión de datos más eficiente: dominar los comandos SQL permite recuperar, actualizar y eliminar datos rápidamente
- Automatización del flujo de trabajo: usar scripts permite automatizar operaciones de la base de datos
- Manejo de errores más fluido: cuando surgen problemas, puedes resolverlos con los comandos SQL apropiados
1.3 Qué aprenderás en este artículo
Este artículo explica los siguientes temas en detalle:
- Operaciones básicas de MySQL (iniciar, conectar y operaciones de bases de datos)
- Añadir, recuperar, actualizar y eliminar datos (operaciones CRUD)
- Gestión de usuarios y configuración de privilegios
- Comandos útiles y solución de problemas
A continuación, revisaremos cada sección en orden. Comencemos con las operaciones básicas de MySQL.
2. Operaciones básicas de MySQL (para principiantes)
2.1 Iniciar y conectar a MySQL
2.1.1 Iniciar MySQL
Como MySQL se ejecuta como un programa de servidor, primero debes iniciar el servidor. El método de inicio varía según el sistema operativo.
Iniciar en Linux / macOS
En Linux y macOS, puedes iniciar MySQL usando el comando systemctl.
sudo systemctl start mysql
Verificar si MySQL está en ejecución
sudo systemctl status mysql
Si ves “active (running)”, MySQL está funcionando normalmente.
Iniciar en Windows
En Windows, MySQL suele ejecutarse como un servicio, por lo que puedes usar el comando net start.
net start mysql
O, si utilizas XAMPP, abre el Panel de Control de XAMPP y haz clic en “Start” para “MySQL”.
2.1.2 Conectar a MySQL
Para conectarte a MySQL, usa el comando mysql. El comando básico de conexión es el siguiente:
mysql -u username -p
Conectar como usuario root
Por defecto, el usuario root está configurado como administrador. Puedes conectarte con el siguiente comando:
mysql -u root -p
Después de presionar Enter, se te pedirá que ingreses una contraseña. Si introduces la contraseña correcta, podrás iniciar sesión en MySQL.
Conectar a un host específico
Para conectarte a un servidor MySQL remoto, usa la opción -h.
mysql -h hostname -u username -p
Por ejemplo, para conectarte a un servidor MySQL en 192.168.1.100, escribe:
mysql -h 192.168.1.100 -u root -p
Conectar especificando un número de puerto
El puerto predeterminado de MySQL es 3306. Si se ha cambiado, puedes especificarlo con la opción -P.
mysql -h 192.168.1.100 -P 3307 -u root -p
2.2 Comandos básicos de MySQL
Una vez que estés conectado a MySQL, prueba ejecutar algunos comandos básicos.
2.2.1 Verificar la versión de MySQL
Para comprobar la versión de MySQL que estás usando actualmente, ejecuta el siguiente comando:
SELECT VERSION();
2.2.2 Verificar la base de datos actual
Para saber qué base de datos está seleccionada en ese momento, ejecuta:
SELECT DATABASE();
Si no hay ninguna base de datos seleccionada, se devuelve NULL.
2.2.3 Listar bases de datos disponibles
Para listar las bases de datos que existen en MySQL, usa:
SHOW DATABASES;
2.3 Errores comunes y soluciones
2.3.1 Error “Access denied”
Ejemplo de error:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Cómo solucionar:
- Verifique que la contraseña sea correcta
- Verifique y restablezca los privilegios de
rootALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_PASSWORD'; FLUSH PRIVILEGES;
2.3.2 Error “No se puede conectar al servidor MySQL en ‘localhost’”
Example error:
ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)
Cómo solucionar:
- Compruebe si MySQL está en ejecución (
systemctl status mysql) - Reinicie MySQL
sudo systemctl restart mysql
2.4 Resumen
En esta sección, explicamos cómo iniciar MySQL y conectarse a él.
3. Operaciones de base de datos
En MySQL, crea una base de datos para gestionar datos y luego organiza la información colocando tablas dentro de ella. En esta sección, explicaremos en detalle las operaciones básicas como crear, seleccionar, listar y eliminar bases de datos.
3.1 Creación de una base de datos
Para crear una base de datos en MySQL, use el comando CREATE DATABASE.
3.1.1 Crear una base de datos básica
Si ejecuta el siguiente comando SQL, podrá crear una nueva base de datos llamada my_database.
CREATE DATABASE my_database;
Mensaje cuando la creación tiene éxito
Query OK, 1 row affected (0.01 sec)
3.1.2 Cuando intenta crear una base de datos que ya existe
Si la base de datos ya existe, verá un error como el siguiente:
ERROR 1007 (HY000): Can't create database 'my_database'; database exists
Para evitar este error, es útil agregar la opción IF NOT EXISTS.
CREATE DATABASE IF NOT EXISTS my_database;
Al ejecutar este comando, la base de datos se crea solo si aún no existe.
3.2 Listado de bases de datos
Para verificar qué bases de datos existen en el servidor MySQL actual, use el comando SHOW DATABASES.
SHOW DATABASES;
Ejemplo de salida:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
Nota: Las bases de datos del sistema como mysql e information_schema son necesarias para la administración de MySQL.
3.3 Selección de una base de datos
En MySQL, debe seleccionar la base de datos que desea usar. Para especificar una base de datos, ejecute el comando USE.
USE my_database;
Mensaje cuando tiene éxito
Database changed
Para confirmar qué base de datos está seleccionada actualmente, use el siguiente comando:
SELECT DATABASE();
Ejemplo de salida:
+------------+
| DATABASE() |
+------------+
| my_database |
+------------+
3.4 Eliminación de una base de datos
Para eliminar una base de datos que ya no necesita, use el comando DROP DATABASE.
DROP DATABASE my_database;
3.4.1 Notas importantes antes de la eliminación
- ¡Cuidado: eliminar una base de datos borra todos los datos!
- Para evitar errores accidentales, también puede agregar
IF EXISTS.DROP DATABASE IF EXISTS my_database;
Este comando finaliza sin error incluso si my_database no existe.
3.5 Errores comunes y soluciones
3.5.1 Error “Acceso denegado para el usuario”
Ejemplo de error:
ERROR 1044 (42000): Access denied for user 'user_name'@'localhost' to database 'my_database'
Cómo solucionar
- Conceda privilegios usando el comando
GRANTGRANT ALL PRIVILEGES ON my_database.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES;
3.5.2 Error “No se puede eliminar la base de datos”
Ejemplo de error:
ERROR 1010 (HY000): Error dropping database (can't rmdir './my_database', errno: 39)
Cómo solucionar
- Reinicie MySQL
sudo systemctl restart mysql
- Elimine primero todas las tablas en
my_database, luego ejecuteDROP DATABASE.
3.6 Resumen
En esta sección, aprendió cómo crear, seleccionar, listar y eliminar bases de datos.
4. Operaciones de tabla
Después de crear una base de datos, necesitas crear tablas dentro de ella para organizar los datos. Una tabla es como una cuadrícula para almacenar datos, compuesta por columnas y filas (registros).
En esta sección, explicaremos en detalle las operaciones básicas como crear, consultar, listar y eliminar tablas.
4.1 Crear una tabla
Para crear una tabla, usa el comando CREATE TABLE. Si ejecutas el siguiente SQL, se crea una tabla llamada users.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
4.1.1 Explicación de cada elemento al crear una tabla
id INT AUTO_INCREMENT PRIMARY KEY- La columna
ides un entero (INT), se incrementa automáticamente (AUTO_INCREMENT) y se define como clave primaria (PRIMARY KEY). name VARCHAR(50) NOT NULL- La columna
namees una cadena (VARCHAR) de hasta 50 caracteres y es obligatoria debido aNOT NULL. email VARCHAR(100) UNIQUE NOT NULL- La columna
emailes una cadena de hasta 100 caracteres, y la restricciónUNIQUEevita direcciones de correo duplicadas. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP- La columna
created_atestablece automáticamente la fecha/hora actual como valor predeterminado.
Mensaje cuando tiene éxito
Query OK, 0 rows affected (0.02 sec)
4.2 Verificar la estructura de la tabla
Para comprobar la estructura de una tabla que creaste, usa DESC o SHOW COLUMNS.
DESC users;
O
SHOW COLUMNS FROM users;
Salida de ejemplo:
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| email | varchar(100) | NO | UNI | NULL | |
| created_at | timestamp | YES | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
4.3 Listar tablas
Para listar las tablas que existen en la base de datos actual, ejecuta el comando SHOW TABLES.
SHOW TABLES;
Salida de ejemplo:
+------------------+
| Tables_in_mydb |
+------------------+
| users |
| products |
| orders |
+------------------+
4.4 Eliminar una tabla
Para eliminar una tabla que ya no necesitas, usa el comando DROP TABLE.
DROP TABLE users;
4.4.1 Notas importantes al eliminar una tabla
- ¡Ten cuidado: eliminar una tabla elimina permanentemente los datos!
- Para evitar errores al eliminar, agrega
IF EXISTS.DROP TABLE IF EXISTS users;
Mensaje cuando tiene éxito
Query OK, 0 rows affected (0.01 sec)
4.5 Restablecer datos de la tabla (Eliminar todas las filas)
Si deseas conservar la estructura de la tabla pero eliminar solo los datos internos, usa TRUNCATE TABLE.
TRUNCATE TABLE users;
Diferencia con DROP TABLE
DROP TABLEelimina la propia tabla.TRUNCATE TABLEelimina solo los datos y conserva la estructura de la tabla.
4.6 Errores comunes y soluciones
4.6.1 Error “La tabla ya existe”
Error de ejemplo:
ERROR 1050 (42S01): Table 'users' already exists
Cómo solucionarlo
- Verifica las tablas existentes
SHOW TABLES;
- Crea la tabla con
IF NOT EXISTSCREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
4.6.2 Error “Tabla desconocida”
Error de ejemplo:
ERROR 1051 (42S02): Unknown table 'users'
Cómo solucionarlo
- Comprueba si la tabla existe usando
SHOW TABLES; - Si no existe, añade
IF EXISTSDROP TABLE IF EXISTS users;
4.7 Resumen
En esta sección, cubrimos las operaciones básicas de tablas en MySQL: crear, comprobar y eliminar tablas.


