SuperDevTools

Formatear SQL en línea

Resultado
Pega SQL, suelta un archivo .sql o pulsa «Ejemplo».
Consultas
0
Líneas del resultado
0
Tamaño del resultado
0

Esta herramienta solo da formato al texto: no comprueba toda la sintaxis ni ejecuta nada. Las cadenas, los identificadores entre comillas y los comentarios se copian tal cual.

Todo ocurre en tu navegador: tus consultas no se envían ni se guardan en ningún sitio.

Un formateador SQL para que tus consultas se lean bien

Una consulta escrita de corrido en una sola línea funciona, pero cuesta leerla, y es lo que suele salir de un registro de errores o del código de una aplicación. Formatear SQL consiste en separar las cláusulas, alinearlas y aplicar sangría para ver enseguida qué columnas se leen, qué tablas se unen y qué filtros se aplican. Un formato común también facilita la revisión de código: al comparar dos versiones solo aparecen los cambios reales.

Cómo se usa

  1. Pega una o varias consultas en «Tu consulta SQL» o abre un archivo .sql. «Ejemplo» carga una consulta con JOIN, subconsulta y CASE.
  2. Elige el «Dialecto»: SQL estándar, MySQL / MariaDB, PostgreSQL, SQLite o SQL Server.
  3. Ajusta las «Palabras clave» (En MAYÚSCULAS, En minúsculas, Sin cambios), la «Sangría», las «Columnas» (Una por línea o En una sola línea) y las «Comas» (Al final o Al principio de la línea).
  4. Pulsa «Formatear» o «Minificar» y después «Copiar» o «Descargar (.sql)».

Ejemplo y convenciones

Tomemos select id, nombre from clientes where ciudad = 'Sevilla' and activo = 1 order by nombre;, que ocupa 88 caracteres. Con los ajustes por defecto, la herramienta devuelve 10 líneas: SELECT solo, después id, y nombre con dos espacios de sangría, FROM y clientes, WHERE seguido de ciudad = 'Sevilla', luego AND activo = 1 en su propia línea y, por último, ORDER BY y nombre;. Minificada, la misma consulta cabe en 83 caracteres: SELECT id,nombre FROM clientes WHERE ciudad='Sevilla' AND activo=1 ORDER BY nombre;.

Estas reglas siguen las convenciones más extendidas:

  • palabras clave en mayúsculas y nombres de tablas y columnas tal como los escribiste;
  • una cláusula principal por línea: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, UNION, INSERT INTO, VALUES, UPDATE, SET, DELETE FROM, CREATE TABLE;
  • cada JOIN abre una línea con su condición ON, y cada AND u OR de un filtro pasa a la línea siguiente, salvo el de un BETWEEN;
  • una subconsulta lleva un nivel más de sangría, y un CASE coloca cada WHEN y el ELSE en su propia línea.

Lo que la herramienta nunca toca

El analizador reconoce las cadenas entre comillas simples, los identificadores entre comillas dobles, acentos graves o corchetes, los comentarios -- y /* */, los números, los operadores y los parámetros (?, :nombre, $1). El contenido de cadenas y comentarios se copia carácter por carácter: en WHERE nota = 'select from where' las tres palabras siguen en minúsculas.

Los dialectos se distinguen sobre todo por cómo citan los nombres: acentos graves y comentarios # en MySQL, corchetes como [Nombre cliente] en SQL Server, cadenas $$…$$ y operador :: en PostgreSQL.

Si una comilla, un comentario o un paréntesis quedan sin cerrar, la herramienta formatea igualmente e indica la línea y la columna del problema. No es una validación completa: un error en el nombre de una tabla o una coma olvidada pasan desapercibidos, y nunca se ejecuta nada en una base de datos.

Preguntas frecuentes

¿Puede el formato cambiar el resultado de mi consulta?

No. Solo cambian los espacios y las mayúsculas de las palabras clave, que a SQL le dan igual. Ojo con una columna sin comillas que se llame como una palabra clave (date, text, key): recibe el mismo tratamiento. Ponla entre comillas o elige «Sin cambios».

¿Puedo formatear un script de miles de líneas?

Sí. Las consultas separadas por «;» se tratan una tras otra y quedan separadas por una línea en blanco. El cálculo se hace en segundo plano sin bloquear la página: 5000 líneas tardan menos de un segundo en un ordenador reciente. Se aceptan archivos de hasta 20 MB.

¿Minificar y volver a formatear da el mismo resultado?

Sí, con los mismos ajustes, porque el formato solo depende de la secuencia de piezas. La minificación conserva los comentarios -- y añade un salto de línea detrás de cada uno para que no se traguen el resto de la consulta.