El núcleo de las bases de datos relacionales: consultar, filtrar, unir, agregar y modificar datos, además de las sentencias de esquema y transacciones del día a día. SQL estándar que funciona en PostgreSQL, MySQL, SQLite y casi cualquier motor, salvo pequeñas diferencias de dialecto.
Imprime o guarda esta página como referencia sin conexión.
Consultar
Comando
Descripción
SELECT * FROM users;
Devuelve todas las columnas y filas de una tabla.
SELECT name, email FROM users;
Devuelve solo las columnas indicadas.
SELECT DISTINCT country FROM users;
Devuelve valores únicos, eliminando duplicados.
SELECT COUNT(*) FROM users;
Cuenta el número de filas.
Filtrar y ordenar
Comando
Descripción
WHERE age >= 18
Conserva solo las filas que cumplen una condición.
WHERE name LIKE 'A%'
Coincidencia de patrón: nombres que empiezan por A.
WHERE id IN (1,2,3)
Coincide con cualquier valor de una lista.
ORDER BY created_at DESC
Ordena las filas, más recientes primero.
LIMIT 10 OFFSET 20
Devuelve 10 filas, saltando las 20 primeras (paginación).
Uniones
Comando
Descripción
INNER JOIN orders ON orders.user_id = users.id
Filas con coincidencia en ambas tablas.
LEFT JOIN orders ON ...
Todas las filas de la izquierda, más coincidencias (NULL si no hay).
COUNT(*) ... GROUP BY user_id
Agrupa filas y agrega valores.
HAVING COUNT(*) > 5
Filtra grupos tras la agregación.
Modificar datos
Comando
Descripción
INSERT INTO users (name) VALUES ('Ada');
Añade una fila nueva.
UPDATE users SET active = true WHERE id = 1;
Modifica filas existentes — siempre con WHERE.
DELETE FROM users WHERE id = 1;
Elimina filas que cumplen una condición.
UPSERT / ON CONFLICT DO UPDATE
Inserta, o actualiza la fila si ya existe.
Esquema
Comando
Descripción
CREATE TABLE t (id INTEGER PRIMARY KEY, name TEXT);
Define una tabla nueva y sus columnas.
ALTER TABLE t ADD COLUMN email TEXT;
Añade una columna a una tabla existente.
CREATE INDEX idx ON t (email);
Acelera las búsquedas por una columna.
FOREIGN KEY (user_id) REFERENCES users(id)
Impone una relación entre dos tablas.
Transacciones
Comando
Descripción
BEGIN;
Inicia una transacción.
COMMIT;
Hace permanentes todos los cambios de la transacción.