tigtools

Formateador de SQL

Pega una consulta, elige el dialecto de tu base de datos y obtén SQL limpio y con una sangría uniforme. No se envía nada a un servidor.

Se ejecuta en tu navegador Sin registro

Sangría

Cómo usarla

  1. Pega una o varias instrucciones SQL o pulsa «Probar un ejemplo».
  2. Elige el dialecto de tu base de datos para que se reconozcan sus palabras clave, comillas y operadores.
  3. Configura las mayúsculas o minúsculas de las palabras clave y la sangría. La consulta con formato aparece a la derecha mientras escribes.
  4. Pulsa Minificar para obtener una versión en una sola línea y luego copia el resultado o descárgalo como archivo .sql.

Cómo funciona

El formato se aplica con la biblioteca de código abierto sql-formatter. Esta divide la consulta en tokens según las reglas del dialecto que elijas, coloca cada cláusula principal (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY…) en una línea propia, aplica sangría a las listas de columnas y las condiciones, y cambia las mayúsculas o minúsculas de las palabras clave según la opción elegida. Modifica los espacios en blanco y, si lo pides, las mayúsculas o minúsculas de las palabras clave; conserva los identificadores, los literales de cadena y los comentarios. Es importante elegir el dialecto adecuado: por ejemplo, MySQL usa comillas invertidas para delimitar nombres, SQL Server usa corchetes y PostgreSQL usa $$ al inicio del cuerpo de una función.

El formateador es una herramienta de diseño, no una base de datos. No comprueba si existen las tablas o columnas ni valida toda la gramática, por lo que puede dar formato a SQL no válido sin avisar. Si no puede interpretar la entrada, por ejemplo, porque falta cerrar un paréntesis, indica la línea y la columna donde se detuvo.

La minificación funciona de otra manera: conserva todos los tokens, reduce cada secuencia de espacios en blanco a un solo espacio y elimina los comentarios (se conservan las sugerencias del optimizador, como /*+ INDEX(t) */, y los comentarios de MySQL /*! … */, porque cambian el comportamiento). Las cadenas, los identificadores entrecomillados y los cuerpos entrecomillados con signo de dólar se copian sin cambios. Si una comilla o un comentario no se cierra, la minificación se detiene con un error en vez de hacer suposiciones.

Ejemplos

Leer una consulta de un registro

Un registro de consultas lentas muestra una línea de 400 caracteres. Al aplicar el dialecto de MySQL y las palabras clave en mayúsculas, se convierte en un bloque legible donde cada condición JOIN y WHERE aparece en una línea propia, lo que facilita detectar el índice que falta.

Estilo coherente para la revisión de código

Un equipo da formato a cada migración con el dialecto de PostgreSQL, las palabras clave en minúsculas y una sangría de 4 espacios antes de confirmarla, para que las diferencias solo muestren cambios reales.

Incrustar SQL en código

La minificación convierte una consulta de informe multilínea y con comentarios en una sola línea, como SELECT id, name FROM users WHERE active = 1 ORDER BY name, lista para pegarla en una cadena de un script.

Preguntas frecuentes

¿Qué bases de datos son compatibles?

Standard SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, BigQuery, Snowflake, Redshift, Spark SQL, Hive, Trino/Presto, DuckDB, IBM Db2, SingleStoreDB, TiDB y Couchbase N1QL.

¿El formato cambiará lo que hace mi consulta?

No debería: solo cambian los espacios en blanco y, si se selecciona, las mayúsculas o minúsculas de las palabras clave. En SQL, estas no distinguen entre mayúsculas y minúsculas. Aun así, revisa el resultado antes de ejecutarlo con datos de producción, sobre todo si usas funciones poco habituales del dialecto.

¿Por qué aparece el mensaje «no se pudo dar formato»?

El tokenizador encontró algo que no pudo interpretar, a menudo un corchete o una comilla sin cerrar, o una sintaxis de otro dialecto. Comprueba la línea y la columna que indica el mensaje y asegúrate de que el dialecto seleccionado corresponda a tu base de datos.

¿Valida mi SQL?

No. No se conecta a una base de datos ni conoce tu esquema. Una consulta puede tener formato y aun así fallar al ejecutarla.

Privacidad

Tu SQL se formatea en el navegador con JavaScript. No se sube ni se almacena, no se incluye en las analíticas y la herramienta nunca se conecta a una base de datos.