SQL-Formatter y Minifier – Documentación completa, Buenas prácticas e Integraciones

Avatar
Manuel Schulz · 18.10.2025 · Desarrollo · 20–25 min

El Zerlo SQL-Formatter & Minifier hace que SQL sea legible de inmediato (Beautify) o compacto (Minify). Tú controlas Indentación (2/4/8 espacios), Caso de palabras clave (UPPER/minúsculas/Preservar) y en la sección Advanced Eliminación de comentarios así como Forzar punto y coma. A través de Acceso rápido hay fragmentos de ejemplo disponibles, y con Autoevaluación verificas el comportamiento en segundos. La página está disponible aquí: zerlo.net/formattersql.

Contenido

  1. Inicio rápido
  2. Funciones en resumen
  3. Ejemplos de acceso rápido (Casos de uso)
  4. Opciones avanzadas (Detalles y trampas)
  5. Categorías de aplicación típicas (12 escenarios)
  6. Integración: sitio web, iFrame, Teams
  7. API JSON opcional (con ejemplos)
  8. Autoevaluación (Paso a paso)
  9. Consejos profesionales, Rendimiento y Seguridad
  10. Notas sobre dialectos y límites
  11. Solución de problemas y Preguntas frecuentes
  12. Pruébalo ahora

1) Inicio rápido

  1. Abre zerlo.net/formattersql.
  2. Pega tu SQL a la izquierda o escríbelo.
  3. Selecciona el Modo: Formatear (legible) o Minificar (compacto).
  4. Configura Indentación (2/4/8) y Caso de palabras clave (UPPER/lower/Preserve) ..
  5. Opcional: Eliminar comentarios, Forzar punto y coma.
  6. Haz clic Formatear – – el resultado aparece a la derecha, incluyendo Copiar y Guardar como .sql.
  7. En Autoevaluación puedes comprobar automáticamente las reglas más importantes..

2) Funciones en general

3) Ejemplos de acceso rápido (Casos de uso)

Estos ejemplos cubren los patrones más comunes y son ideales como punto de partida.

1_einfaches_select.sql
SELECT id, name FROM products WHERE status = 'active';
2_join_mit_aggregat.sql
SELECT c.id, c.title, COUNT(p.id) AS products
FROM categories c
LEFT JOIN products p ON p.category_id = c.id
GROUP BY c.id, c.title
ORDER BY products DESC;
3_case_plus_subquery.sql
SELECT u.id, u.email,
  CASE
WHEN o.total >= 1000 THEN 'gold'
WHEN o.total >= 200  THEN 'silver'
ELSE 'bronze'
  END AS tier
FROM users u
LEFT JOIN LATERAL (
  SELECT SUM(total) AS total
  FROM orders
  WHERE user_id = u.id
) o ON TRUE;
4_cte_plus_window.sql
WITH ranked AS (
  SELECT id, customer_id, total,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY total DESC) AS rn
  FROM orders
)
SELECT * FROM ranked WHERE rn = 1;
5_insert_returning.sql
INSERT INTO users(email, role)
VALUES ('[email protected]', 'editor')
RETURNING id, email;
6_update_mit_case.sql
UPDATE accounts
SET status = CASE
  WHEN balance < 0 THEN 'overdue'
  WHEN balance = 0 THEN 'zero'
  ELSE 'ok'
END
WHERE active = 1;
7_delete_plus_exists.sql
DELETE FROM sessions s
WHERE EXISTS (
  SELECT 1 FROM users u
  WHERE u.id = s.user_id AND u.deleted_at IS NOT NULL
);

4) Opciones avanzadas (Detalles y trampas)

5) Categorías de aplicación típicas (12 escenarios)

  1. Revisiones de código:: Un diseño uniforme acelera las revisiones y evita discusiones de estilo.
  2. Depuración:: Las combinaciones complejas de JOIN y CASE se vuelven visualmente evidentes de inmediato.
  3. Intercambio de conocimientos:: SQL legible para Wiki/Confluence/README.
  4. Migraciones y scripts:: Seguridad de punto y coma, bloques únicos.
  5. Inyección de API:: Minify + eliminación de comentarios, para incorporar SQL en apps/servicios.
  6. BI/Reporting:: Purgar consultas de herramientas BI antes de compartirlas.
  7. Aprendizaje y formación:: Mostrar estructuradamente CTEs/Funciones de ventana.
  8. Refactorización:: Primero formatear, luego aislar/optimizar secciones.
  9. Reproducción de errores:: Consultas claramente estructuradas para tickets de soporte.
  10. Cumplimiento del estilo de guía:: Aplicar de forma consistente el estándar del equipo (Indent/Case)..
  11. Plantillas:: „Acceso rápido“ como base para nuevas consultas.
  12. Preparación de lanzamientos:: Minificar para artefactos estables y transportables..

6) Integración en Website/Teams

A) Usarlo directamente

Aquí está la herramienta: zerlo.net/formattersql

B) Integración de iFrame (Intranet/Backoffice)

embed_iframe.html
<iframe src="https://zerlo.net/formattersql" title="SQL Formatter" width="100%" height="900" style="border:0; border-radius:12px;"></iframe>

C) Guía de estilo del equipo (Base)

7) API JSON opcional

Puedes automatizar el formateo en herramientas CI/CD. Un ejemplo breve:

api_request.http
POST https://zerlo.net/formattersql?api=1
Content-Type: application/json

{
  "sql": "select id,name from users where id=1",
  "mode": "beautify",
  "options": { "indent": 4, "keywordCase": "upper", "stripComments": false, "ensureSemicolon": true }
}
api_response.json
{
  "ok": true,
  "result": "SELECT id, name\nFROM users\nWHERE id = 1;",
  "stats": { "ms": 4, "inLen": 43, "outLen": 47 }
}
api_node.js
// Node.js (fetch)
const res = await fetch("https://zerlo.net/formattersql?api=1", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
sql: "SELECT * FROM orders WHERE created_at >= NOW() - INTERVAL '7 days';",
mode: "beautify",
options: { indent: 2, keywordCase: "upper", stripComments: true, ensureSemicolon: true }
  })
});
const data = await res.json();
console.log(data.result);
api_php.php
<?php
// PHP
$payload = [
  "sql" => "SELECT COUNT(*) FROM products;",
  "mode" => "minify",
  "options" => [ "indent" => 2, "keywordCase" => "preserve", "stripComments" => true, "ensureSemicolon" => true ]
];
$ch = curl_init("https://zerlo.net/formattersql?api=1");
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode($payload),
  CURLOPT_RETURNTRANSFER => true
]);
$resp = curl_exec($ch);
curl_close($ch);
echo $resp;

8) Autoevaluación (Paso a paso)

  1. Haz clic en la herramienta a continuación: Autoevaluación – – se prueban automáticamente tres casos clave..
  2. Caso Beautify:: Keywords UPPER, Palabras clave UPPER, saltos de línea claros, indentación limpia.
  3. Caso Minify:: Comentarios eliminados (si la opción está activa), salida compacta.
  4. Caso de Indentación:: Cambio visible entre 2/4/8 espacios..
  5. El resultado aparece en el panel de Autoevaluación; si hay diferencias: verifique las opciones y cambie el modo si es necesario.

9) Consejos profesionales, Rendimiento y Seguridad

10) Notas sobre dialectos y límites

11) Solución de problemas y Preguntas frecuentes

„¿No cambia nada?“ – Verifica el modo y las opciones; la entrada no debe estar vacía.

„¿Punto y coma doble?“ – Opción 'forzar' + ; ya existente: desactivar la opción.

„Los comentarios no fueron eliminados“ – Activar la eliminación de comentarios o establecer el modo en 'Minify'

„Consultas muy largas se retrasan en el navegador“ – Formatear bloques grandes uno tras otro o usar la API.

„¿Palabras clave en cadenas cambiadas?“ – No debería ocurrir; verifica si eran cadenas reales (comillas, no backticks).

12) Ahora probar

Comienza aquí: zerlo.net/formattersql

¿Te ayudó la guía? Compártela si quieres: