Formateador de SQL

Pega una consulta SQL y recíbela reformateada con cada cláusula (SELECT, FROM, WHERE, JOIN, GROUP BY…) en su propia línea con sangría.

1.126 visitas

Cómo Funciona

Una consulta SQL larga escrita en una sola línea es difícil de leer para detectar su estructura — ¿dónde termina la cláusula WHERE y dónde empieza el GROUP BY?, ¿qué JOIN pertenece a qué tabla? Esta herramienta toma SQL en bruto y lo divide en líneas separadas en cada límite de cláusula principal: SELECT, FROM, WHERE, toda la familia JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN…), GROUP BY, ORDER BY, HAVING y UNION. Las condiciones encadenadas con AND/OR, y las condiciones de unión tras ON, se sangran un nivel por debajo de la cláusula a la que pertenecen, y las palabras clave se pueden poner opcionalmente en mayúsculas para mantener la coherencia. Una consulta como select id,name from users where active=1 and role='admin' order by name se convierte en un bloque donde SELECT, FROM, WHERE y ORDER BY empiezan cada uno su propia línea y la condición AND queda sangrada bajo WHERE — la misma información, solo dispuesta como se escribiría a mano en una revisión de código.

Esto importa justo donde es más difícil hacerlo a mano: consultas con varias tablas unidas, una subconsulta escondida dentro de una cláusula WHERE, o una expresión CASE con varias ramas. Una sangría coherente es lo que permite a quien revisa detectar de un vistazo una condición de unión que falta o un paréntesis mal colocado, en vez de leer carácter por carácter.

Lo Que Deberías Saber

Esto es un formateador, no un validador — solo reorganiza los espacios en blanco y los saltos de línea alrededor de un conjunto fijo de palabras clave que reconoce; nunca analiza la consulta como un árbol sintáctico ni la ejecuta contra una base de datos. Un validador realmente consciente del dialecto necesitaría un analizador completo para cada variante de SQL, porque MySQL, PostgreSQL, SQL Server y SQLite difieren en detalles como el entrecomillado de identificadores, las funciones de fecha e incluso qué sentencias son legales — una comprobación superficial en el navegador que simulara validar todo eso solo generaría una falsa confianza. Si el resultado formateado se ve raro, normalmente significa que la entrada ya tenía un error tipográfico o un paréntesis desequilibrado; la herramienta formateará alrededor de eso en lugar de señalarlo.

Como opera exclusivamente sobre el formato del texto, es seguro ejecutarla con consultas de producción: los identificadores, los literales de cadena, los valores numéricos y los operadores nunca se reescriben, añaden ni eliminan — solo cambian los espacios en blanco, más opcionalmente las mayúsculas de las palabras clave. Nada se envía a ningún sitio ni se ejecuta; la consulta nunca sale del navegador.

Preguntas Frecuentes

¿Esto me dice si mi SQL es correcto?

No — a propósito. La validación real de SQL depende de qué base de datos estés usando (MySQL, PostgreSQL y SQL Server tienen particularidades de sintaxis distintas), y una herramienta ligera de navegador no puede hacerlo con honestidad. Esto solo reformatea el diseño, nunca afirma que tu consulta sea válida o inválida.

¿Puede romper mi consulta?

No — solo inserta saltos de línea y sangrías, y opcionalmente pone las palabras clave en mayúsculas. El texto SQL en sí (identificadores, valores, operadores) nunca se modifica.

¿Puedo usar esto con cualquier dialecto de SQL (MySQL, PostgreSQL, SQL Server)?

Sí, a nivel de formato — las palabras clave de cláusula que reconoce este formateador (SELECT, FROM, WHERE, JOIN, GROUP BY, etc.) son comunes a prácticamente todos los dialectos de SQL. Lo que no hará es validar la sintaxis, las funciones o las reglas de entrecomillado específicas de cada dialecto; estas difieren lo suficiente entre motores como para que solo ejecutar la consulta contra la base de datos real pueda confirmar su corrección.

¿Qué ocurre con las subconsultas o los CTE?

Las sentencias SELECT anidadas y los bloques WITH (expresión de tabla común) se formatean con las mismas reglas de división de cláusulas de forma recursiva, así que una consulta interna obtiene su propia estructura sangrada dentro de la externa — que es justo donde el formateo ayuda más, porque las consultas profundamente anidadas son las más difíciles de leer en una sola línea.

¿El formateo cambia el comportamiento de mi consulta?

No. Solo se tocan los espacios en blanco, los saltos de línea y opcionalmente las mayúsculas de las palabras clave. Cada identificador, literal, comparación y operador se mantiene exactamente como se escribió, así que la consulta formateada es funcionalmente idéntica a la original — produce el mismo conjunto de resultados en ambos casos.

Comentarios

Aún no hay comentarios — ¡sé el primero en escribir uno!

Herramientas Similares