Qué hace este formateador de SQL
Cuando copias una consulta desde el historial de un cliente de base de datos, un log o el código de una aplicación, casi siempre llega en una sola línea interminable: select id, name from users where age > 18 order by name. Funciona, pero es difícil de leer y de revisar. Este formateador reescribe esa misma consulta en un bloque ordenado, con las palabras clave en mayúsculas, un salto de línea antes de cada cláusula y una sangría clara para las listas de columnas, los JOIN y las condiciones.
Todo ocurre dentro de tu navegador con JavaScript. No es un motor de base de datos ni ejecuta nada: solo reorganiza el texto para que sea legible. Por eso puedes pegar consultas con nombres de tablas internos, correos o datos de clientes sin que salgan de tu pantalla.
Cómo usarlo
- Pega tu consulta en el cuadro de entrada (o pulsa Cargar ejemplo para ver una).
- El resultado formateado aparece al instante debajo; no hace falta pulsar ningún botón.
- Pulsa Copiar para llevar el SQL ordenado al portapapeles.
- Con Limpiar vacías el cuadro y empiezas de cero.
Qué reglas aplica
El formateador recorre la consulta separándola en piezas (palabras, cadenas entre comillas, paréntesis y símbolos) y luego aplica un conjunto fijo de reglas. Distingue las cadenas de texto, así que un 'NY' o un 'ORDER by casa' dentro de comillas nunca se toca.
| Elemento | Qué hace el formateador |
|---|---|
SELECT, FROM, WHERE, GROUP BY, ORDER BY, HAVING | Nueva línea, sin sangría (cláusula principal) |
JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN | Nueva línea, sangrada bajo el FROM |
AND, OR | Nueva línea sangrada dentro del WHERE |
ON | Se mantiene en la misma línea del JOIN |
| Coma entre columnas | Cada columna baja a su propia línea sangrada |
| Nombres de tablas, columnas y funciones | Se dejan tal cual los escribiste |
Fíjate en el último punto: solo se ponen en mayúsculas las palabras clave del lenguaje. Un count(*) o un now() conservan su forma original, porque son funciones, no palabras reservadas de estructura.
Ejemplo resuelto
Partimos de esta consulta escrita de un tirón, en minúsculas y sin saltos:
select id, name, email from users where age > 18 and city = 'NY' order by name asc
El formateador la convierte en:
SELECT
id,
name,
email
FROM
users
WHERE
age > 18
AND city = 'NY'
ORDER BY
name ASC
Cada palabra clave (SELECT, FROM, WHERE, ORDER BY, AND, ASC) quedó en mayúsculas; las tres columnas se separaron en líneas propias con dos espacios de sangría; y el AND se alineó debajo del WHERE para que se lea como una condición añadida. El texto 'NY', al estar entre comillas, se respetó por completo.
Tus consultas no salen del navegador
No se envía nada a ningún servidor ni se guarda historial. El formateo es puro procesamiento de texto local, lo que importa cuando la consulta menciona tablas privadas, credenciales incrustadas o información de clientes. Cierra la pestaña y no queda rastro.
Preguntas frecuentes
¿Formatea cualquier dialecto de SQL?
Está pensado para las consultas típicas de MySQL, PostgreSQL, SQL Server, SQLite y MariaDB: SELECT, INSERT, UPDATE, DELETE con sus JOIN, WHERE, GROUP BY y ORDER BY. No es un analizador completo del estándar, así que sintaxis muy específica de un motor (funciones de ventana complejas, CTEs anidadas, procedimientos almacenados) puede quedar menos pulida, aunque el texto sigue siendo válido.
¿Cambia el significado de mi consulta?
No. Solo reordena espacios, saltos de línea y mayúsculas de palabras clave. El SQL sigue siendo funcionalmente idéntico: los mismos identificadores, los mismos valores y el mismo orden lógico. SQL no distingue mayúsculas en sus palabras reservadas, así que select y SELECT significan lo mismo.
¿Por qué no pone en mayúsculas count o el nombre de mi tabla?
Porque no son palabras clave de estructura, sino una función y un identificador. El formateador solo toca las palabras reservadas del lenguaje (SELECT, WHERE, JOIN, etc.). Mantener los nombres de funciones, tablas y columnas tal como los escribiste evita romper motores sensibles a mayúsculas y minúsculas en los identificadores.
¿Respeta el texto dentro de comillas?
Sí. Antes de aplicar ninguna regla, la herramienta detecta las cadenas entre comillas simples, dobles o acentos graves y las trata como un bloque intocable. Una palabra como from escrita dentro de 'un texto from ejemplo' no se altera ni se pone en mayúsculas.