Cómo usar: Formateador SQL
- Pega una o más sentencias SQL en SQL de entrada (o abre un archivo
.sql). - Selecciona tu dialecto. Esto importa para cosas como los identificadores con comillas invertidas en MySQL, los casts
::en PostgreSQL oTOPen SQL Server. - Elige las mayúsculas de las palabras clave y la indentación. La consulta formateada se actualiza mientras escribes.
- Copia el resultado o descárgalo como
query.sql.
¿Qué hace un formateador de SQL?
SQL no depende de los espacios en blanco, así que las consultas generadas por ORMs, registradas por una base de datos o escritas con prisa suelen acabar en una sola línea enorme. Un formateador de SQL analiza la sentencia y la vuelve a imprimir con cada cláusula principal —SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY— en una nueva línea, con las listas de columnas indentadas debajo y las subconsultas anidadas un nivel más adentro. Así es mucho más fácil detectar una condición de join que falta, un OR mal colocado o una columna que olvidaste agrupar.
Ejemplo
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id
se convierte en
SELECT
u.id,
count(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE
u.active = 1
GROUP BY
u.id
Por qué importa el ajuste de dialecto
Cada base de datos extiende SQL de forma distinta. Elegir el dialecto correcto permite que el formateador reconozca las palabras clave y la sintaxis propias de cada proveedor, en lugar de tratarlas como errores:
| Dialecto | Ejemplos que entiende |
|---|---|
| MySQL / MariaDB | Identificadores con `comillas invertidas`, LIMIT 10, 20, ON DUPLICATE KEY UPDATE |
| PostgreSQL | Casts ::, parámetros $1, RETURNING, cuerpos de función con dollar-quoting |
| SQL Server (T-SQL) | Nombres entre [corchetes], TOP (10), @variables, lotes con GO |
| BigQuery | Tipos STRUCT/ARRAY, rutas project.dataset.table entre comillas invertidas, QUALIFY |
| Oracle PL/SQL | Variables :bind, CONNECT BY, cadenas q'[…]' |
Si una consulta falla con un error de análisis, la causa más común es un dialecto distinto al que usas. Prueba con la base de datos que realmente ejecutas. El formateador está basado en la biblioteca de código abierto sql-formatter y se ejecuta por completo en tu navegador, así que las consultas de producción con datos de clientes nunca salen de tu equipo.
Palabras clave: ¿mayúsculas o minúsculas?
Las palabras clave en MAYÚSCULAS son la convención tradicional y hacen que la estructura de la consulta destaque frente a los nombres de tablas y columnas. Muchos equipos modernos prefieren minúsculas porque son más cómodas de escribir y leer. Elige una opción y mantenla de forma coherente; linters como SQLFluff pueden imponerla en CI. La opción Funciones controla por separado las funciones integradas, como count() o coalesce().
¿Quieres comparar dos versiones de una consulta? Pégalas en el Comparador de diferencias. ¿Exportaste resultados en JSON? Conviértelos en una hoja de cálculo con JSON a CSV.
También se busca como: embellecedor sql, formatear sql, sql pretty print, formateador de consultas sql, formateador mysql, formateador postgresql, formateador t-sql, indentar sql.
Herramientas que combinan con: Formateador SQL
- Formateador JSON — Pega el código JSON para formatearlo, minimizarlo o validarlo.
- CSV a JSON — Pega CSV o TSV y obtén un array JSON de objetos.
- Formateador de JavaScript — Desminifica y da formato a JavaScript, JSON o JSX con la sangría y el estilo de llaves que prefieras, o elimina espacios y comentarios con un minificador verificado.
- Formateador HTML — Pega HTML minificado o desordenado y obtén HTML limpio y con sangría coherente, incluidos los bloques <style> y <script> incrustados.
Preguntas frecuentes
¿El formateador cambia lo que hace mi consulta?
¿Por qué obtengo un error de análisis?
{{ var }} también pueden confundirlo.¿Puedo formatear varias sentencias a la vez?
¿Es seguro pegar consultas de producción?
WHERE permanecen privados.¿Se admiten procedimientos almacenados y DDL?
CREATE TABLE, ALTER, INSERT, CTEs (WITH) y funciones de ventana están totalmente soportados. Los bloques procedurales (PL/pgSQL, flujo de control de T-SQL) se formatean con el mejor esfuerzo posible.