Formateador de SQL
Formatea consultas SQL con reglas específicas por dialecto. SQL estándar, PostgreSQL, MySQL, BigQuery, T-SQL y SQLite — todo en tu navegador.
¿Qué hace esta herramienta?
SQL es de esos lenguajes que escribes una vez y depuras para siempre: copias una consulta de un log de ORM o del chat de un colega y aterriza como un único churro de 400 caracteres. Esta herramienta toma esa pared de texto y la coloca en varias líneas con sangría consistente, una cláusula por línea, condiciones de JOIN alineadas y listas largas de SELECT apiladas verticalmente. Es consciente del dialecto: entiende características de PostgreSQL como RETURNING, los backticks de MySQL, los corchetes de T-SQL, las listas EXCEPT de BigQuery y pequeñas rarezas de SQLite — la consulta resultante sigue siendo válida en el motor para el que fue escrita. Todo ocurre en tu navegador, usando la conocida biblioteca sql-formatter, que se carga desde un CDN solo la primera vez que pulsas Formatear. Nada se envía a un servidor. La semántica de la consulta no cambia — solo espacios, saltos de línea y casing —, así que puedes pegar el resultado de vuelta en tu código, en una migración o en una respuesta de chat con tranquilidad.
Cómo usarlo
Elige un dialecto que coincida con tu base de datos, pega tu SQL en el área de texto, escoge mayus./minus. y la sangría y haz clic en Formatear. La salida aparece debajo con un botón para copiar.
- Elige el dialecto correcto — Si dudas, SQL estándar resuelve consultas ANSI normales. Cambia a un dialecto específico cuando aparezcan identificadores como
`backticks`,[corchetes]o palabras clave exclusivas (RETURNING,QUALIFY, etc.). - Define el casing — MAYÚSCULAS es el estándar de facto en revisiones de código. minúsculas se lee más como prosa. Conservar deja el texto tal cual lo escribiste.
- Configura la sangría — 2 espacios es el valor más habitual. 4 espacios ayuda con CTEs muy anidados. Tab coincide con editores configurados solo con tabulaciones.
- Formatea y copia — Pulsa Formatear SQL, revisa la salida y usa el botón de copia para llevar el resultado al portapapeles. Pégalo de vuelta en el editor, en la migración o en el chat.
Reglas de formateo en lenguaje claro
El formateador recorre el flujo de tokens del SQL y emite cada cláusula principal en su propia línea: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT. Cada JOIN ocupa una línea, con su ON sangrado un nivel. Los elementos de una lista SELECT, una tupla VALUES o una cláusula IN (…) se reparten en líneas cuando exceden el ancho. Subconsultas y CTEs reciben un nivel extra de sangría respecto al padre. Los comentarios (-- y /* */) se mantienen sin cambios.
Resumen de dialectos
Cada dialecto trata las comillas de identificadores, la concatenación de cadenas y unas cuantas palabras clave de forma propia. Elige el dialecto del motor de destino.
| Dialecto | Particularidades que el formateador respeta |
|---|---|
| SQL estándar | Base ANSI. Comillas dobles para identificadores, simples para cadenas, || para concatenar. |
| PostgreSQL | Añade RETURNING, ON CONFLICT, ::cast, cadenas con $$ y arrays literales. |
| MySQL | Identificadores con backticks, STRAIGHT_JOIN, SQL_CALC_FOUND_ROWS, comillas dobles en cadenas. |
| BigQuery | Referencias con backticks (proyecto.dataset.tabla), EXCEPT en listas de columnas, QUALIFY, UNNEST. |
| T-SQL (SQL Server) | Identificadores entre corchetes, TOP n, OUTPUT INSERTED.*, hints como NOLOCK. |
| SQLite | Casi ANSI; pequeñas diferencias en WITHOUT ROWID, manejo de CONFLICT y tipado flexible. |
Preguntas frecuentes
¿Mi consulta se envía a algún servidor?
No. La biblioteca sql-formatter se descarga de un CDN público la primera vez que haces clic en Formatear; a partir de ahí el formateo ocurre por completo en tu navegador. Abre la pestaña Network y verás que ningún request se dispara en formateos posteriores — la biblioteca queda en caché.
¿Por qué el resultado se ve algo distinto al del formateador de mi IDE?
Cada formateador SQL tiene sus propias opiniones sobre saltos de línea, comas al inicio o al final y cómo envolver expresiones CASE largas. Esta herramienta usa la popular biblioteca open source sql-formatter, que también está dentro de DBeaver y de varias extensiones de VS Code. Si necesitas que coincida con la guía de tu equipo, pasa el resultado por su formateador como última etapa.
¿Ejecuta mi consulta?
No. Solo hay formateo (espacios y casing). La consulta nunca se ejecuta, ni se valida contra un esquema, ni se envía a ningún sitio.
¿Funciona con stored procedures y bloques PL/pgSQL?
Formatea bien el SQL externo, pero trata el cuerpo procedural como texto opaco — los saltos dentro de BEGIN … END se conservan, pero no se vuelven a envolver. Para stored procedures complejos usa una herramienta específica del motor, como el formateador de PGAdmin.
¿Y si dejo SQL estándar pero uso backticks de MySQL?
Por lo general el resultado sigue siendo razonable, pero las palabras clave específicas pueden quedar mal sangradas o con casing raro. Elige el dialecto correspondiente para una salida más limpia.
¿Funciona con varias sentencias separadas por punto y coma?
Sí. Múltiples sentencias separadas por ; se formatean por separado y se unen con una línea en blanco entre ellas. Ideal para pegar un script de migración entero.
EN
PT
ES