Datos

Formateador SQL

Pegá una query SQL y obtené una versión bien indentada con keywords en mayúsculas. Ideal para code review, documentación y debugging.

Instantáneo🔒En tu navegadorSin registro
En vivo

Por qué formatear SQL importa

Una query SQL en una sola línea, sin formato, es lo más cercano a leer ensamblador en una empresa. Cuando esa query falla en producción a las 3 AM y necesitás debuggear, perdés minutos solo en parsearla mentalmente. SQL formateado bien indentado: cada cláusula en su línea, joins alineados, condiciones en columna. La diferencia entre encontrar el bug en 30 segundos o en 5 minutos.

Convenciones de formato más usadas

  • Keywords en mayúsculas. SELECT, FROM, WHERE, JOIN. Hace contraste visual con nombres de tablas y columnas en minúsculas.
  • Cada cláusula en una nueva línea. SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT siempre rompen línea.
  • JOINs en su propia línea. Cada JOIN se ve fácil cuando está aislado.
  • Comas al inicio o al final. Hay dos escuelas; el formateador respeta el estilo de tu equipo si lo configurás.
  • Indentar subqueries. Las subqueries van más adentro que el query principal.

Cuándo NO formatear

  • Queries muy simples. SELECT * FROM users WHERE id = 1 no necesita romperse en líneas.
  • Migraciones masivas. Si tenés un script con cientos de INSERT, formatearlos todos lo hace ilegible y enorme.
  • SQL generado por ORMs. El SQL que genera Sequelize o Hibernate ya está optimizado para máquina, formatearlo manualmente no aporta.

Estilo Stripe / Linear / Vercel para SQL

Empresas modernas tienden a este estilo: keywords en mayúsculas, una columna por línea en SELECT, indentación consistente de 2 espacios, JOINs después de FROM. Un SELECT que devuelve 8 columnas se ve así:

SELECT
  u.id,
  u.name,
  u.email,
  COUNT(o.id) AS total_orders
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE u.active = true
GROUP BY u.id, u.name, u.email
ORDER BY total_orders DESC
LIMIT 10;

Limitaciones del formateador

Este es un formateador básico que cubre la mayoría de queries que vas a encontrar todos los días: SELECT, INSERT, UPDATE, DELETE, con joins, where, group by, order by, having, limit. No interpreta CTE complejos (WITH RECURSIVE), window functions con sintaxis muy particular, ni dialectos que se desvían fuerte (T-SQL de SQL Server, PL/SQL de Oracle). Para esos casos extremos, considerá formateadores específicos del dialecto.

SQL legible y SEO interno

En empresas grandes hay un patrón: queries críticas viven en una carpeta versionada en git. El equipo de datos las edita, las revisa, las commitea. Si las queries vienen sin formato, los reviews son una pesadilla y los bugs pasan inadvertidos. Establecer un estilo de formato uniforme y aplicarlo en pre-commit hooks es uno de esos cambios chicos que mejora la velocidad del equipo a mediano plazo.

Tips de productividad

  • Si trabajás con DataGrip, IntelliJ o DBeaver, tienen formateadores integrados que respetan tus preferencias. Configuralos una vez y nunca más pelees con formato.
  • En código JavaScript/TypeScript, considerá template strings con tagged templates como sql\`SELECT ...\`. Editores con extensiones como vscode-sql-template-literal te dan autocomplete y formato.
  • Para queries largas que vivirán en migraciones, comentá cada bloque importante con -- propósito de este JOIN. Tu yo del futuro te lo agradece.

Preguntas frecuentes

¿Qué dialectos soporta?

Es agnóstico. Funciona con MySQL, PostgreSQL, SQLite, SQL Server, Oracle.

¿Mi SQL se sube a un servidor?

No. Es 100% local en tu navegador.

¿Por qué importa formatear SQL?

Mejora la legibilidad en code reviews, documentación y debugging.

¿Te sirvió este generador?