Saltar al contenido

Formateador de SQL

SQL Formatter

Formatea SQL con mayúsculas de palabras clave, indentación y colocación de comas configurables, en los dialectos principales.

Dispone una consulta SQL para que puedas leerla: palabras clave alineadas, cláusulas en sus propias líneas, joins indentados bajo la tabla de la que cuelgan. Conoce cinco dialectos, porque la diferencia entre ellos está sobre todo en cómo se entrecomillan cadenas, identificadores y comentarios, y equivocarse en eso es como un formateador destroza una consulta.

🔒 Se ejecuta por completo en tu navegadorsqlformatdatabasebeautify
Dialecto

Entrecomillado ANSI: identificadores entre comillas dobles, y una comilla dentro de una cadena se escribe dos veces.

Palabras clave
Indentación
Comas
Ancho

SQL de entrada

Suelta un archivo .sql

Se lee en esta pestaña. No se sube nada.

Formateado

Entrada

253 B

Salida

0 B

Sentencias

0

Tokens conservados

sí

Esto maqueta SQL; no lo valida. Una consulta a la que le falte el FROM se formateará con esmero y tu base de datos la rechazará igual.

Cómo se usa

  1. Elige primero tu dialecto

    Las comillas invertidas de MySQL, el entrecomillado con dólares de PostgreSQL, los corchetes de SQL Server: cada uno cambia qué cuenta como identificador y qué cuenta como cadena. Estándar es la lectura ANSI y es la correcta para cualquier cosa portable.

  2. Ajusta el estilo de la casa

    Mayúsculas de las palabras clave, ancho de indentación, comas al inicio o al final, y el ancho a partir del cual se ajusta una lista de select. Las comas al inicio parecen raras hasta que has hecho git blame sobre una lista de columnas.

  3. Comprueba «tokens conservados»

    La salida se vuelve a tokenizar y se compara con la entrada tras cada ejecución. Si dice que no, el formateador ha leído mal algo —casi siempre un dialecto equivocado— y deberías usar tu entrada, no su salida.

Preguntas frecuentes

¿Valida mi consulta?

No. Dispone el SQL; no conoce tu esquema y no analiza el significado. Una consulta a la que le falta su cláusula `FROM` se formateará con pulcritud y tu base de datos la rechazará exactamente igual que antes.

¿Por qué mis comentarios `--` se convirtieron en `/* */`?

Solo al minificar. Un comentario `--` llega hasta el final de su línea, así que poner la consulta en una sola línea comentaría todo lo que viene después. La página cuenta cuántos se convirtieron para que el cambio no sea silencioso.

¿Qué significa aquí «cadena sin terminar»?

Una comilla que nunca se cierra, normalmente porque el dialecto es incorrecto: una comilla invertida en modo Estándar, o un bloque `$$` en modo MySQL. Todo lo que viene después se lee como parte de esa cadena, y por eso el resto de la salida parece revuelto.

¿Puedo pegar un archivo de migración entero?

Sí: las sentencias se separan por punto y coma y se muestra el recuento. El formateo corre en un worker, así que un archivo grande no bloquea la página, aunque uno muy largo tardará un momento.

Puede recibir de

Después

Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.