¿Qué es SQL? El lenguaje de las bases de datos explicado de forma sencilla
SQL (Structured Query Language, que se dice «ese-cu-ele» o «siquel») es el lenguaje estándar para trabajar con bases de datos relacionales, es decir, las que guardan datos en tablas de filas y columnas, como Postgres, MySQL, SQLite y SQL Server. Usas SQL para hacer preguntas sobre tus datos («¿qué clientes reservaron este mes?») y para añadir, cambiar o eliminar registros. Existe desde los años setenta, es un estándar internacional y da soporte a una gran parte de las apps del mundo.
Por qué importa SQL cuando creas con IA
Cuando le pides a un creador de apps con IA que «guarde pedidos» o «muestre una lista de próximas reservas», algo tiene que comunicarse con la base de datos, y en la mayoría de las apps eso es SQL, escrito directamente o generado por un ORM.
No necesitas escribir SQL tú mismo, pero un poco de comprensión te compensa:
- Puedes revisar tus propios datos. Una consulta corta responde a «¿cuántos registros tuvimos esta semana?» más rápido que construir una pantalla nueva.
- Puedes pedir mejores informes. «Agrupa los ingresos por mes y servicio» es una idea de SQL. Saberlo hace tu petición más clara.
- Puedes detectar cambios peligrosos. Un
DELETEo unUPDATEsin cláusulaWHEREafecta a todas las filas. Eso merece detectarse antes de ejecutarlo. - Tus datos no quedan atrapados. SQL es un estándar compartido, así que los datos de una base SQL pueden moverse y leerse con muchas herramientas.
Una analogía cotidiana
Piensa en una biblioteca muy bien organizada con un bibliotecario que solo habla un lenguaje preciso y sencillo.
No recorres las estanterías tú. Le entregas una tarjeta: «Busca todos los libros de este autor, publicados después de 2010, del más reciente al más antiguo». El bibliotecario conoce el edificio al detalle y te trae exactamente esos libros, en ese orden.
SQL es el lenguaje de esa tarjeta. Dices qué quieres, no cómo encontrarlo: la base de datos calcula por sí misma la ruta más rápida.
Cómo funciona SQL: tablas, filas y columnas
Una base de datos relacional guarda los datos en tablas. Cada tabla contiene un tipo de cosa, cada fila es un registro y cada columna es un dato concreto:
customers (clientes)
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisboa |
| 2 | Sam Patel | sam@example.com | Leeds |
orders (pedidos)
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
La columna customer_id enlaza cada pedido con un cliente. Ese enlace es lo que hace que la base de datos sea «relacional».
Un ejemplo práctico: responder preguntas reales
1. Leer datos: «muéstrame todos los clientes de Lisboa»:
SELECT name, email
FROM customers
WHERE city = 'Lisboa';
2. Ordenar y limitar: «los cinco pedidos más recientes»:
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Combinar tablas: «cada pedido con el nombre del cliente»:
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Resumir: «total gastado por cliente»:
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Con los datos de ejemplo, devuelve Lena Ortiz con 67.00 y Sam Patel con 18.50.
5. Cambiar datos:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Oporto');
UPDATE customers SET city = 'Oporto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Estas instrucciones equivalen a las cuatro acciones básicas de casi cualquier app: crear, leer, actualizar y eliminar, conocidas como CRUD.
Una advertencia: UPDATE customers SET city = 'Oporto'; sin cláusula WHERE cambia todos los clientes. Revisa siempre el WHERE antes de ejecutar un cambio.
Las partes principales de SQL
| Comando | Qué hace |
|---|---|
SELECT | Leer datos |
INSERT | Añadir filas nuevas |
UPDATE | Cambiar filas existentes |
DELETE | Eliminar filas |
CREATE TABLE / ALTER TABLE | Crear o cambiar la estructura de una tabla |
WHERE | Filtrar qué filas se ven afectadas |
JOIN | Combinar tablas relacionadas |
GROUP BY | Resumir filas en grupos, con COUNT, SUM, AVG |
ORDER BY / LIMIT | Ordenar y limitar los resultados |
SQL está estandarizado, pero cada base de datos añade sus propias extensiones, llamadas dialecto. Postgres, MySQL y SQLite entienden los ejemplos anteriores, aunque detalles como las funciones de fecha varían un poco.
Términos clave
| Término | Significado |
|---|---|
| Consulta (query) | Una sentencia SQL, sobre todo la que lee datos. |
| Tabla / fila / columna | Un tipo de cosa / un registro / un atributo. |
| Clave primaria | La columna que identifica de forma única cada fila, normalmente id. |
| Clave foránea | Columna que apunta a una fila de otra tabla, como customer_id. |
| Índice | Estructura de búsqueda que hace mucho más rápido buscar en una columna. |
| Esquema | La estructura de todas las tablas y columnas. |
| Transacción | Grupo de cambios que se aplican juntos o fallan juntos. |
| Inyección SQL | Ataque en el que se cuela entrada del usuario dentro de una consulta. Se evita con consultas parametrizadas. |
Malentendidos habituales
- «SQL es una base de datos». SQL es el lenguaje; Postgres, MySQL y SQLite son bases de datos que lo hablan.
- «SQL es antiguo, así que está obsoleto». Es maduro, no obsoleto. Las bases de datos modernas y las herramientas de datos siguen usándolo, y las nuevas suelen añadir soporte SQL.
- «Solo los desarrolladores pueden usar SQL». Analistas, profesionales de marketing y fundadores usan consultas sencillas a diario.
- «SQL no puede manejar datos flexibles». Muchas bases SQL también guardan JSON. Postgres, por ejemplo, tiene el tipo
jsonb. Consulta SQL frente a NoSQL. - «Dejar que la IA ejecute cualquier SQL en producción está bien». Las lecturas son de bajo riesgo; los cambios y borrados sobre datos reales merecen una copia de seguridad y una segunda revisión. Consulta cómo hacer copia de seguridad de la base de datos de tu app.
Qué pedir a tu creador de apps con IA
- «Enséñame las tablas de mi base de datos y qué significa cada columna.»
- «Escribe una consulta de solo lectura: ¿cuántos registros nuevos hubo cada día en los últimos 30 días?»
- «Antes de ejecutar cualquier UPDATE o DELETE, enséñame la consulta y cuántas filas va a afectar.»
- «Añade índices en las columnas por las que más filtramos y ordenamos.»
- «Asegúrate de que cada consulta que usa datos del usuario esté parametrizada.»
- «Envuelve las actualizaciones de pedidos y pagos en una transacción para que no puedan completarse a medias.»
SQL en Mythex
Cuando tu app necesita guardar datos, Mythex añade al proyecto una base de datos Postgres dedicada: pídela en el chat, por ejemplo «guarda los correos de la lista de espera en una base de datos», o usa el comando /database (Base de datos). El agente crea las tablas y escribe las consultas, y puedes pedirle en el modo Ask que explique cualquier consulta en lenguaje sencillo. Para saber más sobre la propia base de datos, lee qué es Postgres.
Preguntas
¿Qué es SQL en pocas palabras?
SQL (Structured Query Language, lenguaje de consulta estructurado) es el lenguaje estándar para trabajar con bases de datos relacionales. Lo usas para hacer preguntas sobre tus datos, como «¿qué pedidos se hicieron esta semana?», y para añadir, cambiar o borrar registros.
¿Cómo se pronuncia SQL?
Son correctas tanto «ese-cu-ele» (deletreando las letras) como «siquel». El lenguaje se llamó originalmente SEQUEL, de ahí viene la segunda pronunciación.
¿SQL es un lenguaje de programación?
SQL es un lenguaje de consulta diseñado para gestionar datos. Describes qué resultado quieres y la base de datos averigua cómo obtenerlo. No sirve por sí solo para construir apps completas, pero forma parte de casi cualquier app que use una base de datos relacional.
¿Es difícil aprender SQL?
Lo básico es asequible: SELECT, WHERE, ORDER BY, INSERT, UPDATE y DELETE cubren la mayoría de necesidades diarias y se leen casi como inglés. Los joins, las agrupaciones y el ajuste de rendimiento llevan más tiempo dominarlos.
¿Necesito saber SQL para crear una app con IA?
No. Un creador con IA escribe el SQL o el código de base de datos por ti. Saber un poco te ayuda a revisar tus datos, pedir informes y detectar cambios arriesgados antes de que ocurran.