Regresar

lectura estimada

Publicado en: 2 ene 2025

Programming

Cambiar idioma:

Hay que hablar de SQL

SQL stands for Structured Query Language, and in my opinion is one of the foundations of the modern web. Of course, we still have lots of sites and products that use non-relational database languages, as well as a lot of sites that still use old-school techniques for permanent data, for instance, this blog, which uses markdown to store every post.

In real life though, you need your apps to communicate with a db; in comes SQL. It allows developers and data analysts to store, retrieve, update, and manage data efficiently. In this article, I’ll cover the fundamentals of SQL, including basic queries and the concept of transactions.


¿Qué es SQL?

SQL se utiliza para comunicarse con bases de datos como PostgreSQL, MySQL, SQLite y SQL Server. Con SQL, puedes realizar operaciones como:

  • Crear y modificar estructuras de bases de datos (tablas, esquemas)
  • Insertar, actualizar y eliminar datos
  • Consultar datos utilizando potentes capacidades de filtrado y ordenamiento
  • Gestionar accesos y permisos

Consultas básicas en SQL

Veamos algunos comandos SQL comunes que forman la base del trabajo diario con bases de datos.

1. “SELECT”: Recuperar datos

SELECT first_name, last_name
FROM users;

Puedes obtener columnas especificas o usar ”*” para seleccionar todas:

SELECT * FROM users;

2. “WHERE”: Filtering Results

SELECT * FROM users
WHERE age > 18;

Operadores disponibles:


= != < > <= >=
AND OR NOT
LIKE IN BETWEEN

Ejemplo:

SELECT * FROM users
WHERE age BETWEEN 18 AND 30
  AND city = 'Mexico city';

3. “INSERT”: Añadiendo Data

INSERT INTO users (first_name, last_name, age)
VALUES ('Johhny', 'Cash', 65);

4. “UPDATE”: Modificando Data

UPDATE users
SET age = 65
WHERE first_name = 'Johhny' AND last_name = 'Cash';

5. “DELETE”: Removiendo Data

DELETE FROM users
WHERE age < 18;

Acomodar, Limitar, y Agrupar

”ORDER BY”: Acomodando resultados

SELECT * FROM users
ORDER BY age DESC;

”LIMIT”: Limitando Rows

SELECT * FROM users
LIMIT 10;

”GROUP BY” y Aggregation

SELECT city, COUNT(*) AS user_count
FROM users
GROUP BY city;

Transacciones en SQL

Una transacción es una secuencia de una o más operaciones SQL que se ejecutan como una sola unidad de trabajo. Las transacciones ayudan a mantener la integridad de los datos, especialmente cuando se realizan operaciones críticas como transferencias de fondos entre cuentas.

Propiedades de las transacciones (ACID):

  1. Atomicidad – Todas las operaciones de una transacción se completan con éxito o ninguna se realiza.
  2. Consistencia – La base de datos permanece en un estado válido antes y después de la transacción.
  3. Aislamiento – Las transacciones concurrentes no interfieren entre sí.
  4. Durabilidad – Una vez confirmados, los cambios son permanentes.

Sintaxis básica de una transacción

BEGIN;

UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;

COMMIT;

Si algo sale mal, siempre puedes hacer roll back:

ROLLBACK;

Buenas Prácticas

  • Usa siempre cláusulas “WHERE” para evitar actualizaciones o eliminaciones accidentales de tablas completas.
  • Prueba tus consultas con “SELECT” antes de ejecutar “UPDATE” o “DELETE”.
  • Utiliza transacciones para operaciones de varios pasos que deben completarse juntas.
  • Normaliza tus datos para reducir la redundancia y mejorar la integridad.

Conclusión

SQL es una habilidad esencial para cualquiera que trabaje con datos. Al dominar las consultas básicas y comprender cómo usar transacciones, estableces la base para construir aplicaciones seguras, robustas y eficientes basadas en bases de datos.

¡Por supuesto, hay mucho más que aprender sobre SQL! Explora temas como joins, indexación, vistas, procedimientos almacenados y patrones de diseño de bases de datos.

Tags:

sql