Conexión
| Comando | Descripción |
|---|---|
psql -U user -d dbname | Conexión a PostgreSQL |
mysql -u user -p dbname | Conexión a MySQL |
\q / exit | Finalizar conexión |
\c dbname | Cambiar de BD (PostgreSQL) |
use dbname; | Cambiar de BD (MySQL) |
Operaciones de base de datos
| SQL | Descripción |
|---|---|
CREATE DATABASE dbname; | Crear base de datos |
DROP DATABASE dbname; | Eliminar base de datos |
\l / SHOW DATABASES; | Mostrar lista de BD |
\dt / SHOW TABLES; | Mostrar lista de tablas |
\d table / DESCRIBE table; | Mostrar estructura de tabla |
Operaciones de tablas
| SQL | Descripción |
|---|---|
CREATE TABLE t (col type); | Crear tabla |
DROP TABLE t; | Eliminar tabla |
TRUNCATE TABLE t; | Eliminar todos los datos (rápido) |
ALTER TABLE t ADD col type; | Agregar columna |
ALTER TABLE t DROP col; | Eliminar columna |
ALTER TABLE t RENAME TO new; | Renombrar tabla |
Tipos de datos
| Tipo | Descripción |
|---|---|
INTEGER / INT | Entero |
BIGINT | Entero grande |
DECIMAL(p,s) | Punto fijo |
FLOAT / REAL | Punto flotante |
VARCHAR(n) | Cadena de longitud variable |
TEXT | Texto largo |
BOOLEAN | Valor booleano |
DATE | Fecha |
TIMESTAMP | Fecha y hora |
JSON / JSONB | Datos JSON |
UUID | Identificador único |
SELECT (Obtención de datos)
| SQL | Descripción |
|---|---|
SELECT * FROM t; | Obtener todas las columnas |
SELECT col1, col2 FROM t; | Obtener columnas específicas |
SELECT DISTINCT col FROM t; | Eliminar duplicados |
SELECT * FROM t WHERE cond; | Especificar condición |
SELECT * FROM t ORDER BY col; | Ordenar |
SELECT * FROM t LIMIT 10; | Limitar número de registros |
SELECT * FROM t OFFSET 10; | Desplazamiento |
Condiciones WHERE
| Condición | Descripción |
|---|---|
col = 'value' | Igual a |
col != 'value' / col <> 'value' | Diferente de |
col > / < / >= / <= | Comparación |
col BETWEEN a AND b | Rango |
col IN ('a', 'b') | En la lista |
col LIKE '%pattern%' | Coincidencia de patrón |
col ILIKE '%pattern%' | Ignorar mayúsculas/minúsculas (PostgreSQL) |
col IS NULL | Verificación de NULL |
col IS NOT NULL | Verificación de no NULL |
cond1 AND cond2 | Condición AND |
cond1 OR cond2 | Condición OR |
INSERT / UPDATE / DELETE
| SQL | Descripción |
|---|---|
INSERT INTO t (cols) VALUES (vals); | Insertar datos |
INSERT INTO t VALUES (vals); | Insertar en todas las columnas |
UPDATE t SET col=val WHERE cond; | Actualizar datos |
DELETE FROM t WHERE cond; | Eliminar datos |
JOIN (Uniones)
| SQL | Descripción |
|---|---|
INNER JOIN t2 ON t1.id = t2.id | Unión interna |
LEFT JOIN t2 ON t1.id = t2.id | Unión externa izquierda |
RIGHT JOIN t2 ON t1.id = t2.id | Unión externa derecha |
FULL OUTER JOIN t2 ON ... | Unión externa completa |
CROSS JOIN t2 | Producto cartesiano |
Funciones de agregación
| Función | Descripción |
|---|---|
COUNT(*) | Contar filas |
SUM(col) | Suma |
AVG(col) | Promedio |
MIN(col) | Valor mínimo |
MAX(col) | Valor máximo |
GROUP BY col | Agrupar |
HAVING cond | Condición de grupo |
Índices
| SQL | Descripción |
|---|---|
CREATE INDEX idx ON t(col); | Crear índice |
CREATE UNIQUE INDEX idx ON t(col); | Índice único |
DROP INDEX idx; | Eliminar índice |
\di / SHOW INDEX FROM t; | Lista de índices |
Transacciones
| SQL | Descripción |
|---|---|
BEGIN; / START TRANSACTION; | Iniciar transacción |
COMMIT; | Confirmar |
ROLLBACK; | Revertir |
SAVEPOINT name; | Crear punto de guardado |
ROLLBACK TO name; | Volver al punto de guardado |
Utilidades
| Comando | Descripción |
|---|---|
EXPLAIN query; | Mostrar plan de ejecución |
EXPLAIN ANALYZE query; | Plan de ejecución y tiempo |
VACUUM; | Recuperar espacio no usado (PostgreSQL) |
ANALYZE t; | Actualizar estadísticas |
\timing | Mostrar tiempo de ejecución (PostgreSQL) |