La primera vez que ves SQL en un tutorial o en una oferta de trabajo, parece un idioma marciano. No lo es. SQL es básicamente la forma que tenemos de decirle a una base de datos lo que queremos: "dame todos los usuarios", "añade este producto nuevo", "cambia el precio de esto".
Hay 4 comandos que vas a usar el 90% del tiempo. Con estos cuatro ya puedes trabajar con cualquier base de datos básica, sin necesidad de saber nada más de momento.
¿Qué es una tabla? (Lo básico que necesitas saber)
Antes de empezar con los comandos, necesitas entender qué es una tabla. Imagínate una hoja de Excel:
- Filas = cada registro (como cada usuario, cada producto...)
- Columnas = las propiedades (nombre, email, precio...)
Por ejemplo, una tabla de usuarios podría verse así:
| id | nombre | email | edad |
|----|-----------|-------------------|------|
| 1 | Ana | ana@gmail.com | 25 |
| 2 | Luis | luis@outlook.com | 30 |
| 3 | María | maria@yahoo.es | 28 |
Cada fila es un usuario diferente. Cada columna es una característica que tienen todos los usuarios (nombre, email, edad).
💡 Tip importante
En bases de datos reales, siempre hay una columna id que es un número único para cada fila. Es como el DNI de cada registro.
SELECT: Leer datos (como buscar en Excel)
SELECT es para leer/consultar datos. Es el comando que más vas a usar porque no rompe nada - solo mira.
Ejemplo 1: Ver todo
SELECT * FROM usuarios;
Traducción: "Dame toda la información (*) de la tabla usuarios"
Resultado: Te muestra toda la tabla completa, como si abrieras el Excel entero.
Ejemplo 2: Solo algunas columnas
SELECT nombre, email FROM usuarios;
Traducción: "Dame solo el nombre y email de todos los usuarios"
| nombre | email |
|-----------|-------------------|
| Ana | ana@gmail.com |
| Luis | luis@outlook.com |
| María | maria@yahoo.es |
Ejemplo 3: Filtrar con WHERE
SELECT * FROM usuarios WHERE edad > 27;
Traducción: "Dame toda la info de los usuarios que tengan más de 27 años"
SELECT * FROM usuarios WHERE nombre = 'Ana';
SELECT email FROM usuarios WHERE edad < 30;
SELECT * FROM usuarios WHERE email LIKE '%gmail.com';
⚠️ Importante
Con SELECT puedes practicar todo lo que quieras. No rompe nada, solo lee.
INSERT: Añadir datos nuevos
INSERT es para añadir filas nuevas a la tabla. Como añadir una nueva fila en Excel.
Ejemplo: Añadir un usuario nuevo
INSERT INTO usuarios (nombre, email, edad)
VALUES ('Carlos', 'carlos@gmail.com', 32);
Traducción: "En la tabla usuarios, añade una fila nueva con estos datos"
Resultado: Ahora la tabla tiene un usuario más:
| id | nombre | email | edad |
|----|-----------|-------------------|------|
| 1 | Ana | ana@gmail.com | 25 |
| 2 | Luis | luis@outlook.com | 30 |
| 3 | María | maria@yahoo.es | 28 |
| 4 | Carlos | carlos@gmail.com | 32 | ← NUEVO
💡 Detalles importantes
- El
idse pone solo (auto-incremental) - Los textos van entre comillas simples:
'Carlos' - Los números van sin comillas:
32
UPDATE: Modificar lo que ya existe
UPDATE es para cambiar datos que ya existen. Como editar una celda en Excel.
Ejemplo: Cambiar la edad de Luis
UPDATE usuarios
SET edad = 31
WHERE nombre = 'Luis';
Traducción: "En la tabla usuarios, cambia la edad a 31, pero solo en la fila donde el nombre sea Luis"
Ejemplo: Cambiar varios campos a la vez
UPDATE usuarios
SET email = 'ana.nueva@gmail.com', edad = 26
WHERE nombre = 'Ana';
Más ejemplos de UPDATE con WHERE
-- Cambiar por nombre
UPDATE usuarios SET edad = 31 WHERE nombre = 'Luis';
-- Cambiar por email
UPDATE usuarios SET nombre = 'Ana Garcia' WHERE email = 'ana@gmail.com';
-- Cambiar varios usuarios
UPDATE usuarios SET edad = edad + 1 WHERE edad < 30;
⚠️ SUPER IMPORTANTE
SIEMPRE pon WHERE en UPDATE. Si no pones WHERE, cambias TODAS las filas de la tabla.
❌ MAL:
UPDATE usuarios SET edad = 30;
↑ Esto pone la edad de TODOS los usuarios a 30
✅ BIEN:
UPDATE usuarios SET edad = 30 WHERE id = 2;
↑ Esto solo cambia el usuario con id = 2
DELETE: Borrar datos (y por qué da respeto)
DELETE es para borrar filas completas. Es como eliminar una fila entera en Excel.
Ejemplo: Borrar un usuario específico
DELETE FROM usuarios WHERE nombre = 'María';
Traducción: "Borra de la tabla usuarios la fila donde el nombre sea María"
Resultado: María desaparece completamente de la tabla.
Más ejemplos de DELETE con WHERE
-- Borrar por email
DELETE FROM usuarios WHERE email = 'spam@fake.com';
-- Borrar usuarios mayores de 65
DELETE FROM usuarios WHERE edad > 65;
-- Borrar cuentas inactivas
DELETE FROM usuarios WHERE email LIKE '%temp%';
🚨 ¡¡¡PELIGRO MÁXIMO!!!
Si haces DELETE sin WHERE, borras TODA la tabla:
DELETE FROM usuarios;
↑ Esto borra TODOS los usuarios. Tabla vacía. Game over. 💀
SIEMPRE, SIEMPRE, SIEMPRE pon WHERE en DELETE
Truco para no cagarla con DELETE
Antes de hacer DELETE, haz SELECT con la misma condición:
SELECT * FROM usuarios WHERE nombre LIKE 'Test%';
DELETE FROM usuarios WHERE nombre LIKE 'Test%';
Así ves exactamente qué vas a borrar antes de borrarlo.
Consejos para no cagarla (aprende de mis errores)
✅ Buenas prácticas
- Empieza siempre con SELECT para ver qué hay
- Usa WHERE en UPDATE y DELETE (no es opcional)
- El punto y coma (;) al final es obligatorio
- Las mayúsculas no importan: SELECT = select = Select
- Los espacios y saltos de línea no importan
❌ Errores típicos de principiante
DELETE FROM usuarios;← Borra toda la tablaUPDATE usuarios SET edad = 25;← Cambia toda la tablaSELECT * FROM usuario;← Tabla no existe (falta la 's')INSERT INTO usuarios (nombre, email) VALUES ('Ana');← Faltan valores
Orden típico de trabajo
Cuando trabajas con bases de datos, normalmente sigues este orden:
- SELECT para ver qué hay
- INSERT para añadir cosas nuevas
- SELECT otra vez para confirmar que se añadió
- UPDATE para modificar lo que no está bien
- SELECT para confirmar el cambio
- DELETE solo cuando estés 100% seguro
Todo junto, para que lo tengas a mano
-- SELECT: Leer datos (❌ Seguro)
SELECT * FROM usuarios;
-- INSERT: Añadir datos (🟡 Cuidado)
INSERT INTO usuarios (nombre, email) VALUES ('Ana', 'ana@gmail.com');
-- UPDATE: Modificar datos (🟠 ¡Siempre con WHERE!)
UPDATE usuarios SET edad = 26 WHERE nombre = 'Ana';
-- DELETE: Borrar datos (🔴 ¡¡Siempre con WHERE!!)
DELETE FROM usuarios WHERE email = 'spam@fake.com';
Con estos cuatro ya puedes hacer el 90% de lo que necesitas en una base de datos básica. Cuando los tengas claros — de verdad claros, no solo leídos — el siguiente paso natural es aprender a filtrar con WHERE avanzado y a ordenar resultados. Pero eso tiene su propio artículo, primero practica estos.
💡 Para practicar
Puedes usar DB Browser for SQLite (gratuito) para hacer pruebas sin riesgo. Crea una tabla de prueba y practica estos comandos hasta que te salgan naturalmente.
🚀 ¿Te gustó este tutorial?
Únete a StudyCode Pro para más tutoriales como este, roadmaps completos y acceso a nuestra comunidad de developers que te ayudará a conseguir tu primer trabajo en tech.
📬 Únete Gratis