Formateador SQL
Formatea consultas SQL para PostgreSQL, MySQL, SQL Server, Oracle, BigQuery, Snowflake y más, con mayúsculas y sangría a tu gusto, en tu navegador.
Cómo formatear una consulta SQL
- Pega una o varias consultas, o pulsa Abrir un archivo para cargar un archivo
.sql(hasta 10 MB). - Elige el Dialecto de tu base de datos, por ejemplo PostgreSQL, MySQL o SQL Server (T-SQL).
- Elige cómo escribir las Palabras clave (MAYÚSCULAS, minúsculas o Como están escritas) y la Sangría.
- Marca Sin espacios alrededor de los operadores si prefieres
a=b+1aa = b + 1. - Pulsa Formatear SQL y luego copia o descarga el resultado. Al cambiar una opción, la consulta se vuelve a formatear.
La consulta solo se reorganiza como texto. Nunca se ejecuta ni se envía a una base de datos o a un servidor.
Qué hace el formateador
La herramienta usa la biblioteca de código abierto sql-formatter. Divide cada sentencia en cláusulas y coloca cada palabra clave de cláusula (SELECT, FROM, WHERE, GROUP BY, ORDER BY…) en su propia línea, con el contenido de la cláusula sangrado debajo. Las columnas de una lista SELECT se colocan una por línea, las condiciones AND y OR empiezan línea nueva, y las subconsultas y las expresiones CASE se sangran según su nivel de anidamiento. Las expresiones cortas entre paréntesis se quedan en una sola línea. Varias sentencias separadas por punto y coma quedan separadas por una línea en blanco.
Solo cambian los espacios y las mayúsculas o minúsculas. Los literales de cadena, los identificadores entre comillas y los comentarios se conservan tal cual, así que la consulta formateada devuelve el mismo resultado que la original.
Por qué importa el dialecto
Las bases de datos SQL comparten el núcleo del lenguaje, pero difieren en los detalles, y un formateador necesita conocerlos para leer bien la consulta:
- los identificadores se entrecomillan con
"comillas dobles"en SQL estándar y PostgreSQL, con`acentos graves`en MySQL, MariaDB y BigQuery, y con[corchetes]en SQL Server; - operadores como
->>y las conversiones::de PostgreSQL, o el acceso a rutas con:de Snowflake, solo existen en algunos dialectos; - los marcadores de parámetros cambian:
?,$1,:nameo@name; - cada dialecto tiene sus propias palabras reservadas y funciones, que son las que modifica la opción Palabras clave.
Si ves «No se pudo analizar la consulta», comprueba primero que el dialecto seleccionado corresponde a tu base de datos. El error indica la línea y la columna donde se detuvo el análisis. SQL estándar es la opción más restrictiva; elige tu base de datos real siempre que puedas.
Mayúsculas y consejos de estilo
Las palabras clave en mayúsculas siguen siendo la convención más extendida, porque distinguen de un vistazo el lenguaje de los nombres de tablas y columnas. Las minúsculas son populares en equipos a los que les resultan más fáciles de leer, y Como están escritas respeta tu elección. Los nombres de tablas, columnas y funciones nunca se modifican: solo las palabras clave reservadas siguen la opción. En archivos largos, un formato coherente también hace mucho más fácil revisar las diferencias entre versiones.
Preguntas frecuentes
¿Qué dialectos se admiten?
SQL estándar, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), Google BigQuery, Snowflake, Amazon Redshift, IBM Db2, Db2 for i, Apache Hive, Spark SQL, Trino/Presto, DuckDB, ClickHouse, SingleStoreDB, TiDB y Couchbase N1QL.
¿La herramienta comprueba que mi consulta sea válida?
No. Comprueba que la consulta se puede leer en el dialecto elegido, pero no que existan las tablas o columnas ni que la consulta se vaya a ejecutar. Eso solo puede confirmarlo tu base de datos.
¿Puede formatear procedimientos almacenados?
En parte. Las sentencias dentro de los procedimientos se formatean, pero los bloques procedimentales (BEGIN … END, bucles, DECLARE) se organizan de forma más sencilla que en un IDE especializado.
¿Se envía mi consulta a un servidor?
No. El formateo se ejecuta en tu navegador, así que las consultas que contienen nombres de tablas o datos se quedan en tu ordenador.
¿Por qué mi comentario ha cambiado de sitio?
Los comentarios se conservan, pero un comentario al final de una línea puede desplazarse junto con el elemento al que sigue cuando ese elemento pasa a una línea nueva.
Herramientas relacionadas
- Formateador y validador JSON Formateador y validador JSON gratuito que embellece, minifica y comprueba JSON en tu navegador, con los errores de sintaxis indicados por línea y columna.
- Formateador y minificador JavaScript Embellece JavaScript minificado, minifícalo con Terser o comprueba su sintaxis con la línea y la columna exactas de cada error. Solo en tu navegador.
- Formateador XML Formatea, minifica y valida XML en tu navegador. Los errores se indican con su línea y su columna. Tus archivos nunca se suben.