Qué es SQL y cómo funciona
1. Una pregunta concreta
En una biblioteca querés saber cómo se llaman sus socios. Los datos están organizados en una tabla llamada socios. Cada fila corresponde a un socio y las columnas guardan características como identificador, nombre y apellido.
| id | nombre | apellido |
|---|---|---|
| 1 | Lucia | Bravo |
| 2 | Martin | Sosa |
Una base de datos reúne datos organizados y sus estructuras. Un sistema gestor (SGBD) es el software que permite almacenarlos, consultarlos y aplicar reglas y permisos. Un buen diseño reduce redundancias; instalar un gestor, por sí solo, no corrige todos los problemas de diseño.
2. SQL es el lenguaje
SQL significa Structured Query Language. Sirve para expresar operaciones sobre datos y estructuras de una base relacional. En muchas consultas expresás qué resultado querés y el gestor elige un plan para obtenerlo. Esto se llama enfoque declarativo.
SELECT nombre, apellido
FROM socios
ORDER BY id
LIMIT 3;Leé la consulta como: “Mostrame nombre y apellido de los socios, ordenados por id, hasta tres filas”. ORDER BY fija un orden explícito; LIMIT limita la cantidad de filas. Sin orden explícito no se garantiza cuáles serán las primeras.
Hoy solo reconocemos esas partes. La sintaxis y las consultas más complejas se practicarán progresivamente. Las palabras en mayúsculas son una convención para leer mejor; SQL no es el nombre de un programa.
3. Quién hace cada trabajo
| Pieza | Rol en este ejemplo |
|---|---|
| Cliente | Workbench o una terminal: donde escribís la consulta y ves la respuesta |
| SQL | El texto que expresa la operación |
| Servidor SGBD | MySQL/MariaDB: recibe la petición y ejecuta el trabajo |
| Base de datos | biblioteca_sarmiento: estructuras y datos organizados |
| Resultado | Filas y columnas devueltas al cliente |
Cliente y servidor pueden estar en la misma computadora o en computadoras diferentes. “Servidor” describe un rol; no implica necesariamente una máquina remota.
4. El viaje de una consulta
- Escribir. Preparás la consulta en el cliente; escribirla todavía no la ejecuta.
- Enviar. Con una conexión establecida, el cliente envía la petición al servidor.
- Interpretar. El gestor procesa la sentencia, resuelve referencias y comprueba los permisos que correspondan. Para la consulta selecciona un plan de ejecución.
- Acceder a los datos. El motor obtiene los datos necesarios; puede aprovechar memoria e índices, y leer almacenamiento cuando haga falta. No toda consulta implica leer todos los archivos.
- Producir el resultado. Devuelve las columnas y filas solicitadas.
- Mostrar. El cliente presenta la respuesta. Una consulta
SELECTde lectura como esta no modifica las filas guardadas.
5. Probalo vos
Elegí cuántas filas pedir. Si querés, anticipá cuántas esperás ver. Avanzá por etapas y mirá dónde está la petición y cuándo llega el resultado. Después repetí con otra cantidad.
Para pensar antes de llegar al final: ¿se borrarán los socios que no entren en el límite?
El viaje de una consulta
Qué se simplifica
Es una simulación con datos de ejemplo: no se conecta a MySQL ni ejecuta SQL real. Es una explicación conceptual: los motores reales pueden combinar etapas o enviar las filas de a poco, y esto no es un plan de ejecución medido.
Ver el detalle del gestor y los errores →
6. Si algo falla
- Cliente abierto y servidor apagado: no alcanza con tener Workbench en pantalla; la conexión falla.
- Tabla inexistente: el servidor no puede resolver el nombre indicado.
- Usuario sin permisos: puede haber una conexión válida y aun así una operación rechazada.
- Consulta válida sin coincidencias: un resultado vacío puede ser correcto; no equivale a un error de conexión.
Podés provocar estos errores y ver dónde se cortan en Dentro del gestor.
7. SQL sirve para más que consultar
| Uso | Ejemplos |
|---|---|
| Definir estructuras | CREATE, ALTER, DROP |
| Consultar y modificar datos | SELECT, INSERT, UPDATE, DELETE |
| Controlar permisos | GRANT, REVOKE |
| Controlar transacciones | START TRANSACTION, COMMIT, ROLLBACK |
La agrupación pedagógica de SELECT varía: algunos materiales lo separan como DQL y otros lo incluyen en DML. Lo central es comprender qué hace cada operación.
8. Autoevaluación
- ¿Workbench es SQL, un cliente o una base de datos?
- ¿Qué cambia al pasar de
LIMIT 1aLIMIT 3? - Si MySQL y Workbench están en tu computadora, ¿siguen siendo dos roles distintos?
- ¿Una respuesta vacía demuestra que el servidor está apagado?
- ¿El resultado de
SELECTes necesariamente una tabla nueva guardada en la base?
Ver las respuestas
- Es un cliente. SQL es el lenguaje; MySQL es el gestor.
- La cantidad máxima de filas devueltas, no la cantidad almacenada.
- Sí. Compartir equipo no elimina la separación de responsabilidades.
- No. Una respuesta vacía puede corresponder a una consulta correcta.
- No. Esta consulta devuelve un conjunto de resultados; no crea una tabla persistente.
Siguiente: Dentro del gestor →
Para insertar en el aula
Copiá este código y pegalo en el editor del aula, en la vista de código fuente (HTML). Usa solo atributos, sin estilos, porque el editor del aula suele quitarlos. Incluye allowfullscreen para que el botón de pantalla completa funcione dentro del aula.