SQL
El lenguaje estándar para crear, consultar y modificar los datos de una base de datos relacional.
SQL es un lenguaje declarativo: describes qué datos quieres («los pedidos de este mes de más de 50 €») y la base de datos decide cómo obtenerlos.
Sus órdenes más usadas son SELECT (consultar), INSERT (añadir), UPDATE (cambiar) y DELETE (borrar). Cada sistema (MySQL, PostgreSQL, SQLite…) añade pequeñas diferencias sobre el estándar.
Un ejemplo
SELECT nombre FROM clientes WHERE ciudad = 'Sevilla'; devuelve los nombres de los clientes de Sevilla.
Por qué importa
SQL es el lenguaje estándar para hablar con bases de datos relacionales. Con unas pocas instrucciones puedes pedir justo los datos que necesitas, sin recorrerlos tú mismo: SELECT para consultar, INSERT para añadir, UPDATE para modificar, DELETE para borrar y CREATE TABLE para definir la estructura. Es declarativo: describes qué quieres obtener y el gestor decide cómo conseguirlo de forma eficiente.
Se usa en backend, análisis de datos, informes, administración y casi cualquier puesto técnico. Aprenderlo tiene un valor duradero: el lenguaje lleva décadas vigente y lo que aprendes con un gestor sirve en gran parte para otro, aunque cada uno tiene sus propias extensiones. Una consulta como SELECT nombre FROM clientes WHERE ciudad = 'Sevilla' ORDER BY nombre; ya expresa filtro, selección y orden en una sola línea.
Confusiones frecuentes
Es habitual pensar que SQL es una base de datos: es el lenguaje, y MySQL, PostgreSQL o SQLite son los sistemas que lo entienden. También se asume que es idéntico en todos: existe un estándar, pero cada gestor añade diferencias (por ejemplo, para limitar filas se usa LIMIT en unos y TOP en SQL Server). Un error clásico de principiante es olvidar el WHERE en un UPDATE o DELETE, con lo que se modifican o borran todas las filas de la tabla. Conviene probar antes con un SELECT y la misma condición.
Preguntas frecuentes
¿Qué diferencia hay entre `WHERE` y `HAVING`?
WHERE filtra filas antes de agrupar; HAVING filtra los grupos ya calculados, por ejemplo los que superan cierta suma o cuenta tras un GROUP BY.
¿SQL distingue mayúsculas de minúsculas?
Las palabras clave no (select y SELECT valen igual). Los nombres de tablas y los textos comparados sí pueden distinguirlas según el gestor y su configuración.
Fuentes consultadas
- The SQL Language (PostgreSQL Documentation)